Developer tools for a communication platform

ABSTRACT

Systems, apparatuses, methods, and computer program products are disclosed for electronically retrieving documentation in a group-based communication platform interface. An example method includes receiving a documentation request command indicative of a request for group-based communication platform documentation, wherein the documentation request command comprises electronic information indicative of a requested API method name. The example method further includes retrieving a group-based communication platform API specification comprising a set of group-based communication platform documentation information associated with a set of group-based communication platform documentation API method names. The example method further includes generating a documentation response message based on a determination indicative of whether the requested API method name corresponds to any group-based communication platform documentation API method name in the set of group-based communication platform documentation API method names. Subsequently, the example method includes generating an ephemeral documentation message based on the documentation response message.

BACKGROUND

Communication platforms provide a limited set of developer tools totheir users. Applicant has identified many deficiencies and problemsassociated with these existing communication platforms. Through appliedeffort, ingenuity, and innovation, Applicant has solved many of theseidentified deficiencies and problems by developing solutions inaccordance with the embodiments of the present disclosure, many examplesof which are described in detail herein.

BRIEF SUMMARY

Computing systems, computing apparatuses, computer-implemented methods,and computer program products are disclosed herein that solve the aboveproblems by providing improved functionality in a group-basedcommunication platform interface. For example, the group-basedcommunication system provided herein provides for electronicallyretrieving documentation in the group-based communication platforminterface.

In one example embodiment, a computing system is provided forelectronically retrieving documentation in a group-based communicationplatform interface. The computing system may comprise applicationprogramming interface (API) circuitry in communication with interfacegeneration circuitry and documentation response generation circuitry.The API circuitry may be configured to receive, from the interfacegeneration circuitry, a documentation request command indicative of arequest for group-based communication platform documentation. Therequest may have been provided by a user using a client device. Thedocumentation request command may comprise electronic informationindicative of a requested API method name. The API circuitry may befurther configured to transmit, to the documentation response generationcircuitry, the documentation request command. The API circuitry may befurther configured to receive, from the documentation responsegeneration circuitry, a documentation response message. The APIcircuitry may be further configured to transmit, to the interfacegeneration circuitry, the documentation response message. The computingsystem may further comprise the documentation response generationcircuitry. The documentation response generation circuitry may beconfigured to receive, from the API circuitry, the documentation requestcommand. The documentation response generation circuitry may be furtherconfigured to in response to receipt of the documentation requestcommand, retrieve, from an API specification server, a group-basedcommunication platform API specification comprising a set of group-basedcommunication platform documentation information associated with a setof group-based communication platform documentation API method names.The documentation response generation circuitry may be furtherconfigured to generate a determination indicative of whether therequested API method name corresponds to any group-based communicationplatform documentation API method name in the set of group-basedcommunication platform documentation API method names. The documentationresponse generation circuitry may be further configured to generate thedocumentation response message based on the determination. Thedocumentation response generation circuitry may be further configured totransmit, to the API circuitry, the documentation response message. Thecomputing system may further comprise the interface generationcircuitry. The interface generation circuitry may be in furthercommunication with the client device. The interface generation circuitrymay be configured to receive, from the API circuitry, the documentationresponse message. The interface generation circuitry may be furtherconfigured to generate an ephemeral documentation message based on thedocumentation response message. The ephemeral documentation message maybe configured to be displayed, by a display device in communication withthe client device, in the group-based communication platform interfacein association with the request for the group-based communicationplatform documentation. The interface generation circuitry may befurther configured to transmit, to the client device, the ephemeraldocumentation message.

In another example embodiment, a computing apparatus is provided forelectronically retrieving documentation in a group-based communicationplatform interface. The computing apparatus may comprise API circuitryin communication with interface generation circuitry and documentationresponse generation circuitry. The API circuitry may be configured toreceive, from the interface generation circuitry, a documentationrequest command indicative of a request for group-based communicationplatform documentation. The request may have been provided by a userusing a client device. The documentation request command may compriseelectronic information indicative of a requested API method name. TheAPI circuitry may be further configured to transmit, to thedocumentation response generation circuitry, the documentation requestcommand. The API circuitry may be further configured to receive, fromthe documentation response generation circuitry, a documentationresponse message. The API circuitry may be further configured totransmit, to the interface generation circuitry, the documentationresponse message. The computing apparatus may further comprise thedocumentation response generation circuitry. The documentation responsegeneration circuitry may be configured to receive, from the APIcircuitry, the documentation request command. The documentation responsegeneration circuitry may be further configured to in response to receiptof the documentation request command, retrieve, from an APIspecification server, a group-based communication platform APIspecification comprising a set of group-based communication platformdocumentation information associated with a set of group-basedcommunication platform documentation API method names. The documentationresponse generation circuitry may be further configured to generate adetermination indicative of whether the requested API method namecorresponds to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names. The documentation response generationcircuitry may be further configured to generate the documentationresponse message based on the determination. The documentation responsegeneration circuitry may be further configured to transmit, to the APIcircuitry, the documentation response message. The computing apparatusmay further comprise the interface generation circuitry. The interfacegeneration circuitry may be in further communication with the clientdevice. The interface generation circuitry may be configured to receive,from the API circuitry, the documentation response message. Theinterface generation circuitry may be further configured to generate anephemeral documentation message based on the documentation responsemessage. The ephemeral documentation message may be configured to bedisplayed, by a display device in communication with the client device,in the group-based communication platform interface in association withthe request for the group-based communication platform documentation.The interface generation circuitry may be further configured totransmit, to the client device, the ephemeral documentation message.

In another example embodiment, a computer-implemented method is providedfor electronically retrieving documentation in a group-basedcommunication platform interface. The computer-implemented method maycomprise receiving, by API circuitry and from interface generationcircuitry in communication with the API circuitry and a client device, adocumentation request command indicative of a request for group-basedcommunication platform documentation. The request may have been providedby a user using the client device. The documentation request command maycomprise electronic information indicative of a requested API methodname. The computer-implemented method may further comprise, in responseto receiving the documentation request command, retrieving, bydocumentation response generation circuitry and from an APIspecification server, a group-based communication platform APIspecification comprising a set of group-based communication platformdocumentation information associated with a set of group-basedcommunication platform documentation API method names. Thecomputer-implemented method may further comprise generating, by thedocumentation response generation circuitry, a determination indicativeof whether the requested API method name corresponds to any group-basedcommunication platform documentation API method name in the set ofgroup-based communication platform documentation API method names. Thecomputer-implemented method may further comprise generating, by thedocumentation response generation circuitry, a documentation responsemessage based on the determination. The computer-implemented method mayfurther comprise generating, by the interface generation circuitry, anephemeral documentation message based on the documentation responsemessage. The ephemeral documentation message may be configured to bedisplayed, by a display device in communication with the client device,in the group-based communication platform interface in association withthe request for the group-based communication platform documentation.The computer-implemented method may further comprise transmitting, bythe interface generation circuitry and to the client device, theephemeral documentation message.

In another example embodiment, a computer program product is providedfor electronically retrieving documentation in a group-basedcommunication platform interface. The computer program product maycomprise at least one non-transitory computer-readable storage mediumstoring computer-executable program code instructions. Thecomputer-executable program code instructions may, when executed by acomputing apparatus, cause the computing apparatus to receive, by APIcircuitry and from interface generation circuitry in communication withthe API circuitry and a client device, a documentation request commandindicative of a request for group-based communication platformdocumentation. The request may have been provided by a user using theclient device. The documentation request command may comprise electronicinformation indicative of a requested API method name. Thecomputer-executable program code instructions, when executed, mayfurther cause the computing apparatus to, in response to receipt of thedocumentation request command, retrieve, by documentation responsegeneration circuitry and from an API specification server, a group-basedcommunication platform API specification comprising a set of group-basedcommunication platform documentation information associated with a setof group-based communication platform documentation API method names.The computer-executable program code instructions, when executed, mayfurther cause the computing apparatus to generate, by the documentationresponse generation circuitry, a determination indicative of whether therequested API method name corresponds to any group-based communicationplatform documentation API method name in the set of group-basedcommunication platform documentation API method names. Thecomputer-executable program code instructions, when executed, mayfurther cause the computing apparatus to generate, by the documentationresponse generation circuitry, a documentation response message based onthe determination. The computer-executable program code instructions,when executed, may further cause the computing apparatus to generate, bythe interface generation circuitry, an ephemeral documentation messagebased on the documentation response message, wherein the ephemeraldocumentation message is configured to be displayed, by a display devicein communication with the client device, in the group-basedcommunication platform interface in association with the request for thegroup-based communication platform documentation. Thecomputer-executable program code instructions, when executed, mayfurther cause the computing apparatus to transmit, by the interfacegeneration circuitry and to the client device, the ephemeraldocumentation message.

The foregoing brief summary is provided merely for purposes ofsummarizing some example embodiments illustrating some aspects of thepresent disclosure. Accordingly, it will be appreciated that theabove-described embodiments are merely examples and should not beconstrued to narrow the scope of the present disclosure in any way. Itwill be appreciated that the scope of the present disclosure encompassesmany potential embodiments in addition to those summarized herein, someof which will be described in further detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are not necessarily drawn to scale,illustrate embodiments and features of the present disclosure. Togetherwith the specification, including the brief summary above and thedetailed description below, the accompanying drawings serve to explainthe embodiments and features of the present disclosure. The componentsillustrated in the drawings represent components that may or may not bepresent in various embodiments or features of the disclosure describedherein. Accordingly, some embodiments or features of the presentdisclosure may include fewer or more components than those shown in thedrawings while not departing from the scope of the disclosure.

FIG. 1 illustrates a system diagram of a set of devices that may beinvolved in some example embodiments described herein;

FIG. 2 illustrates a schematic block diagram of example circuitry thatmay perform various operations in accordance with some exampleembodiments described herein;

FIGS. 3A, 3B, and 3C illustrate example data structures for inspectingan interface element viewable in a group-based communication platforminterface in accordance with some example embodiments described herein;

FIG. 4 illustrates example data structures for electronically retrievingdocumentation in the group-based communication platform interface inaccordance with some example embodiments described herein;

FIG. 5 illustrates example data structures for providing app-lessrendering in a group-based communication platform interface inaccordance with some example embodiments described herein;

FIG. 6 illustrates an example flowchart for inspecting an interfaceelement viewable in a group-based communication platform interface inaccordance with some example embodiments described herein;

FIG. 7 illustrates an example flowchart for electronically retrievingdocumentation in the group-based communication platform interface inaccordance with some example embodiments described herein; and

FIG. 8 illustrates an example flowchart for providing app-less renderingin a group-based communication platform interface in accordance withsome example embodiments described herein.

DETAILED DESCRIPTION

Some embodiments of the present disclosure will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the disclosures are shown. Indeed,these disclosures may be embodied in many different forms and should notbe construed as limited to the embodiments set forth herein; rather,these embodiments are provided so that this disclosure will satisfyapplicable legal requirements. Like numbers refer to like elementsthroughout.

Overview

As noted above, computing systems, computing apparatuses,computer-implemented methods, and computer program products aredisclosed herein that solve the above problems by providing improveddeveloper tool functionality in a group-based communication platforminterface. In some embodiments, the present disclosure relates to agroup-based communication system that provides for inspecting aninterface element viewable in a group-based communication platforminterface, electronically retrieving documentation in the group-basedcommunication platform interface, providing app-less rendering in thegroup-based communication platform interface, and combinations thereof.

Interface Element Inspection

In some embodiments, the group-based communication system disclosedherein provides for inspecting an interface element viewable in agroup-based communication platform interface. The group-basedcommunication system may be configured to receive an inspect commandindicative of a request to perform an inspect action on the interfaceelement viewable in the group-based communication platform interface.The request may have been provided by a user using the client device.The group-based communication system may be further configured togenerate an element definition payload based on the inspect command. Thegroup-based communication system may be further configured to generatean inspect action response message comprising the element definitionpayload. The inspect action response message may comprise the elementdefinition payload. In some instances, the element definition payloadmay comprise a JavaScript Object Notation (JSON) element definitionpayload. The JSON element definition payload may comprise type data thatdefines the interface element, user identification data that defines theinterface element, text data that defines the interface element,timestamp data that defines the interface element, any other suitabledata, or any combination thereof.

In some embodiments, the group-based communication system may be furtherconfigured to generate an ephemeral element definition message based onthe inspect action response message. The ephemeral element definitionmessage may be configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with theinterface element. For example, the ephemeral element definition messagemay configured to be displayed in the group-based communication platforminterface as an attachment to the interface element. The group-basedcommunication system may be further configured to transmit, to theclient device, the ephemeral element definition message.

In some embodiments, the group-based communication system may be furtherconfigured to receive, from the client device, a user interaction eventassociated with the interface element. The user interaction event maycomprise a right click event associated with the interface element; amouse-over event (e.g., a hover-over event) associated with theinterface element; a touch screen event associated with the interfaceelement; a voice command event associated with the interface element;any other suitable user interaction; or any combination thereof. Thegroup-based communication system may be further configured to, inresponse to receipt of the user interaction event, generate a set ofselectable actions comprising a selectable inspect action. The set ofselectable actions may be configured to be displayed (e.g., by theclient device, a display device in communication with the client device,or both) in the group-based communication platform interface inassociation with the interface element. For example, the set ofselectable actions may be configured to be displayed in a drop down menubox viewable in the group-based communication platform interface inassociation with the interface element. The group-based communicationsystem may be further configured to transmit, to the client device, theset of selectable actions. The group-based communication system may befurther configured to receive, from the client device, electronicinformation indicative of a selection of the selectable inspect actionby the user using the client device. The group-based communicationsystem may be further configured to, in response to receipt of theelectronic information indicative of the selection of the selectableinspect action by the user using the client device, generate the inspectcommand.

In some embodiments, the group-based communication system may be furtherconfigured to generate a set of message builder parameters based on theinspect command. The inspect action response message may furthercomprise the set of message builder parameters. The group-basedcommunication system may be further configured to generate a selectablemessage builder action configured to be displayed (e.g., by the clientdevice, a display device in communication with the client device, orboth) in the group-based communication platform interface in associationwith the ephemeral element definition message. The group-basedcommunication system may be further configured to transmit, to theclient device, the selectable message builder action. The group-basedcommunication system may be further configured to receive, from theclient device, electronic information indicative of a selection of theselectable message builder action by the user using the client device.The group-based communication system may be further configured togenerate an editable JSON element definition payload based on theelement definition payload and the set of message builder parameters.The group-based communication system may be further configured togenerate a preview message based on the editable JSON element definitionpayload. The group-based communication system may be further configuredto generate a message builder interface comprising the editable JSONelement definition payload and the preview message. The group-basedcommunication system may be further configured to transmit, to theclient device, the message builder interface. The message builderinterface may be configured to be displayed by the display device.

Documentation Retrieval

In some embodiments, the group-based communication system disclosedherein may further provide for electronically retrieving documentationin a group-based communication platform interface. The group-basedcommunication system to receive a documentation request commandindicative of a request for group-based communication platformdocumentation. The request may have been provided by a user using aclient device. The documentation request command may comprise electronicinformation indicative of a requested API method name. In someembodiments, the request may comprise a command (e.g., a slash command,a documentation command, or both) and the requested API method name, andthe group-based communication system may be further configured to, inresponse to receipt of the request, generate the documentation requestcommand based on the command and the requested API method name.

In some embodiments, the group-based communication system may be furtherconfigured to, in response to receipt of the documentation requestcommand, retrieve, from an API specification server, a group-basedcommunication platform API specification comprising a set of group-basedcommunication platform documentation information associated with a setof group-based communication platform documentation API method names.The group-based communication system may be further configured togenerate a determination indicative of whether the requested API methodname corresponds to any group-based communication platform documentationAPI method name in the set of group-based communication platformdocumentation API method names. The group-based communication system maybe further configured to generate a documentation response message basedon the determination. In some instances, the documentation responsemessage may comprise a JSON documentation payload.

In some embodiments where the requested API method name may be identicalto a group-based communication platform API method name in the set ofgroup-based communication platform API method names, the group-basedcommunication system may be further configured to generate adetermination indicating that the requested API method name correspondsto the group-based communication platform documentation API method namein the set of group-based communication platform documentation APImethod names. In such embodiments, the documentation response messagemay comprise the group-based communication platform documentationinformation associated with the group-based communication platformdocumentation API method name.

In some embodiments, the documentation request command may comprise useridentification information for the user, and the group-basedcommunication system may be further configured to: generate agroup-based communication platform documentation authorization requestcommand comprising the user identification information and thegroup-based communication platform documentation API method name; inresponse to the generation of the group-based communication platformdocumentation authorization request command, generate a group-basedcommunication platform documentation authorization token indicating thatthe user has authorization to view the group-based communicationplatform documentation information associated with the group-basedcommunication platform documentation API method name; and in response tothe generation of the group-based communication platform documentationauthorization token, generate the documentation response message.

In some embodiments where the requested API method name may not beidentical to any group-based communication platform API method name inthe set of group-based communication platform API method names, thegroup-based communication system may be further configured to: generatea determination indicating that the requested API method name does notcorrespond to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names; generate a string similarity requestcomprising the requested API method name and the group-basedcommunication platform API specification; generate a set of semanticsimilarity scores, wherein each semantic similarity score in the set ofsemantic similarity scores is a quantitative value indicative of anamount of semantic similarity between the requested API method name andone of the group-based communication platform documentation API methodnames in the set of group-based communication platform documentation APImethod names; and generate a set of suggested group-based communicationplatform API method names based on the set of semantic similarityscores. In such embodiments, the documentation response message maycomprise the set of suggested group-based communication platform APImethod names.

In some embodiments, the group-based communication system may be furtherconfigured to generate an ephemeral documentation message based on thedocumentation response message. The ephemeral documentation message maybe configured to be displayed (e.g., by the client device, a displaydevice in communication with the client device, or both) in thegroup-based communication platform interface in association with therequest for the group-based communication platform documentation. Forexample, the ephemeral documentation message may be configured to bedisplayed in the group-based communication platform interface as anattachment to the request for the group-based communication platformdocumentation. The group-based communication system may be furtherconfigured to transmit, to the client device, the ephemeraldocumentation message.

In some embodiments, the documentation request command may be a firstdocumentation request command, the ephemeral documentation message maybe a first ephemeral documentation message, and the group-basedcommunication system may be further configured to generate a set ofselectable group-based communication platform API method names based onthe set of suggested group-based communication platform API methodnames. The set of selectable group-based communication platform APImethod names may be configured to be displayed (e.g., by the clientdevice, a display device in communication with the client device, orboth) in the group-based communication platform interface in associationwith the documentation response message. The group-based communicationsystem may be further configured to transmit, to the client device, theset of selectable group-based communication platform API method names.The group-based communication system may be further configured toreceive, from the client device, electronic information indicative of aselection of a selectable group-based communication platform API methodname by the user using the client device. The group-based communicationsystem may be further configured to, in response to receipt of theelectronic information indicative of the selection of the selectablegroup-based communication platform API method name by the user using theclient device, generate a second documentation request commandcomprising electronic information indicative of the selection of theselectable group-based communication platform API method name by theuser using the client device. In some embodiments, the set of selectablegroup-based communication platform API method names may be configured tobe displayed (e.g., by the client device, a display device incommunication with the client device, or both) in the group-basedcommunication platform interface as an attachment to the ephemeraldocumentation message. In some embodiments, the set of selectablegroup-based communication platform API method names are configured to bedisplayed in a drop down menu box viewable in the group-basedcommunication platform interface in association with the ephemeraldocumentation message.

In some embodiments, the group-based communication system may be furtherconfigured to generate a second documentation response message based onthe selection of the selectable group-based communication platform APImethod name. The second documentation response message may comprise thegroup-based communication platform documentation information associatedwith the selection of the selectable group-based communication platformAPI method name. In some embodiments, the group-based communicationsystem may be further configured to generate a second ephemeraldocumentation message based on the second documentation responsemessage. The ephemeral documentation message may be configured to bedisplayed (e.g., by the client device, a display device in communicationwith the client device, or both) in the group-based communicationplatform interface in association with the second documentation requestcommand. The group-based communication system may be further configuredto transmit, to the client device, the second ephemeral documentationmessage.

In some embodiments, the group-based communication system may be furtherconfigured to, in response to receipt of the electronic informationindicative of the selection of the selectable group-based communicationplatform API method name by the user using the client device, generate agroup-based communication platform interface overlay comprising a set ofselectable group-based communication platform API method nameconfirmation icons. The set of selectable group-based communicationplatform API method name confirmation icons may comprise a selectableaffirmative group-based communication platform API method nameconfirmation icon and a selectable negative group-based communicationplatform API method name confirmation icon. The group-basedcommunication platform interface overlay may be configured to bedisplayed (e.g., by the client device, a display device in communicationwith the client device, or both) in the group-based communicationplatform interface as a display screen overlay. The group-basedcommunication system may be further configured to transmit, to theclient device, the group-based communication platform interface overlay.The group-based communication system may be further configured toreceive, from the client device, electronic information indicative of aselection of the selectable affirmative group-based communicationplatform API method name confirmation icon by the user using the clientdevice. The group-based communication system may be further configuredto, in response to receipt of the electronic information indicative of aselection of the selectable affirmative group-based communicationplatform API method name confirmation icon by the user using the clientdevice, generate the second documentation request command.

In some embodiments, the group-based communication platformdocumentation authorization request command may be a first group-basedcommunication platform documentation authorization request command, thegroup-based communication platform documentation authorization token maybe a first group-based communication platform documentationauthorization token, the second documentation request command maycomprise user identification information for the user, and thegroup-based communication system may be further configured to: generatea second group-based communication platform documentation authorizationrequest command comprising the user identification information and theselection of the selectable group-based communication platform APImethod name; in response to the generation of the second group-basedcommunication platform documentation authorization request command,generate a second group-based communication platform documentationauthorization token indicating that the user has authorization to viewthe group-based communication platform documentation informationassociated with the selection of the selectable group-basedcommunication platform API method name; and in response to thegeneration of the second group-based communication platformdocumentation authorization token, generate the second documentationresponse message.

App-Less Rendering

In some embodiments, the group-based communication system may furtherprovide for providing app-less rendering in a group-based communicationplatform interface. The group-based communication system may beconfigured to receive, from a client device, a command indicative of arequest to perform an app-less API call in the group-based communicationplatform. The request may have been provided by a user using the clientdevice. The command may comprise electronic information indicative of arequested API method name and a set of requested call parameters. Thegroup-based communication system may be further configured to generatean app-less API call based on the requested API method name and the setof requested call parameters. The group-based communication system maybe further configured to generate a response to the app-less API call.The group-based communication system may be further configured togenerate an app-less API call response message based on the command andthe response to the app-less API call. In some instances, the app-lessAPI call response message may comprise a call definition payload thatdefines the command and the response to the app-less API call. The calldefinition payload that defines the command and the response to theapp-less API call may be a JSON call definition payload that defines thecommand and the response to the app-less API call. The JSON calldefinition payload may comprise: type data that defines the command;user identification data that defines the command; text data thatdefines the command; timestamp data that defines the command; type datathat defines the response to the app-less API call; API methodidentification data that defines the response to the app-less API call;text data that defines the response to the app-less API call; timestampdata that defines the response to the app-less API call; any othersuitable data, or any combination thereof.

In some embodiments, the group-based communication system may be furtherconfigured to generate an ephemeral command response message based onthe app-less API call response message. The ephemeral command responsemessage may be configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with therequest to perform the app-less API call. For example, the ephemeralcommand response message may be configured to be displayed in thegroup-based communication platform interface as an attachment to therequest to perform the app-less API call. The interface generationcircuitry may be further configured to transmit, to the client device,the ephemeral command response message.

In some embodiments, the group-based communication system may be furtherconfigured to generate a set of call builder parameters based on thecommand, wherein the app-less API call response message furthercomprises the set of call builder parameters. In some embodiments, thegroup-based communication system may be further configured to: generatea selectable call builder action configured to be displayed (e.g., bythe client device, a display device in communication with the clientdevice, or both) in the group-based communication platform interface inassociation with the app-less API call response message; transmit, tothe client device, the selectable call builder action; receive, from theclient device, electronic information indicative of a selection of theselectable call builder action by the user using the client device; andgenerate an editable JSON call definition payload based on the app-lessAPI call response message and the set of call builder parameters. Thegroup-based communication system may be further configured to generate acall builder interface comprising the editable JSON call definitionpayload. The group-based communication system may be further configuredto transmit, to the client device, the call builder interface, whereinthe call builder interface is configured to be displayed by the displaydevice.

In some embodiments, the command may comprise user identificationinformation for the user, and the group-based communication system maybe further configured to: generate a group-based communication platformapp-less API call authorization request command comprising the useridentification information and the response to the app-less API call; inresponse to the generation of the group-based communication platformapp-less API call authorization request command, generate a callauthorization token indicating that the user has authorization to viewthe response to the app-less API call; and in response to the generationof the call authorization token, generate the app-less API call responsemessage.

There are many advantages of these and other embodiments describedherein, such as: facilitating a faster, cheaper, and less computingresource and data intensive process for providing improved functionalityin a group-based communication platform interface; facilitating userinspection of interface elements viewable in the group-basedcommunication platform interface, facilitating user lookup (e.g.,retrieval) of documentation in the group-based communication platforminterface; and facilitating app-less rendering in a group-basedcommunication platform interface.

Definitions

The phrases “in some embodiments,” “in other embodiments,” “in someinstances,” and the like generally mean that the particular feature,structure, or characteristic following the phrase may be included in atleast one embodiment of the present disclosure, and may be included inmore than one embodiment of the present disclosure (importantly, suchphrases do not necessarily refer to the same embodiment).

The term “comprising” means including but not limited to, and should beinterpreted in the manner it is typically used in the patent context.Use of broader terms such as comprises, includes, and having should beunderstood to provide support for narrower terms such as consisting of,consisting essentially of, and comprised substantially of.

The term “example” is used herein to mean “serving as an example,instance, or illustration.” Any implementation described herein as“example” is not necessarily to be construed as preferred oradvantageous over other implementations.

If the specification states a component or feature “may,” “can,”“could,” “should,” “typically,” “optionally,” “generally,”“additionally,” “alternatively,” “for example,” “often,” or “might” (orother such language) be included or have a characteristic, thatparticular component or feature is not required to be included or tohave the characteristic. Such component or feature may be optionallyincluded in some embodiments, or it may be excluded.

The term “set” refers to a collection of zero or more elements. Forexample, a set may refer to a data structure having zero or more dataelements.

As used herein, the terms “data,” “data structure,” “electronicinformation,” “information,” “content,” “command,” “request,” andsimilar terms may be used interchangeably to refer to data capable ofbeing transmitted, received, and/or stored in accordance withembodiments of the present disclosure. Thus, use of any such termsshould not be taken to limit the spirit or scope of embodiments of thepresent disclosure. Further, where a first computing device or circuitryis described herein to receive data from a second computing device orcircuitry, it will be appreciated that the data may be received directlyfrom the second computing device or circuitry or may be receivedindirectly via one or more intermediary computing devices orcircuitries, such as, for example, one or more servers, relays, routers,network access points, base stations, hosts, and/or the like, sometimesreferred to herein as a “network.” Similarly, where a first computingdevice or circuitry is described herein as sending data to a secondcomputing device or circuitry, it will be appreciated that the data maybe sent directly to the second computing device or circuitry or may besent indirectly via one or more intermediary computing devices orcircuitries, such as, for example, one or more servers, remote servers,cloud-based servers (e.g., cloud utilities), relays, routers, networkaccess points, base stations, hosts, and/or the like.

The terms “processor” and “processing circuitry” are used herein torefer to any programmable microprocessor, microcomputer or multipleprocessor chip or chips that can be configured by software instructions(applications) to perform a variety of functions, including thefunctions of the various embodiments described above. In some devices,multiple processors may be provided, such as one processor dedicated towireless communication functions and one processor dedicated to runningother applications. Software applications may be stored in the internalmemory before they are accessed and loaded into the processors. Theprocessors may include internal memory sufficient to store theapplication software instructions. In many devices the internal memorymay be a volatile or nonvolatile memory, such as flash memory, or amixture of both. The memory may also be located internal to anothercomputing resource (e.g., enabling computer readable instructions to bedownloaded over the Internet or another wired or wireless connection).

For the purposes of this description, a general reference to “memory”refers to memory accessible by the processors including internal memoryor removable memory plugged into the device, remote memory (e.g., cloudstorage), and/or memory within the processors themselves. For instance,memory may be any non-transitory computer readable medium havingcomputer readable instructions (e.g., computer program instructions)stored thereof that are executable by a processor.

The terms “circuitry,” “module,” “utility,” and similar terms should beunderstood broadly to include hardware. In some embodiments, these termsmay also include software for configuring the hardware. For example, insome embodiments, “circuitry” may include processing circuitry, memory,communications circuitry, and/or input-output circuitry. In someembodiments, other elements of the present disclosure may provide orsupplement the functionality of particular circuitry, modules, orutilities.

The term “computing device” is used herein to refer to any one or all ofprogrammable logic controllers (PLCs), programmable automationcontrollers (PACs), industrial computers, desktop computers, personaldata assistants (PDAs), laptop computers, tablet computers, smart books,palm-top computers, personal computers, kiosk computers, smartphones,smartwatches, headsets, smart speakers, and similar electronic devicesequipped with at least a processor configured to perform the variousoperations described herein. Computing devices such as smartphones,laptop computers, tablet computers, headsets, and smartwatches aregenerally referred to herein as mobile devices.

The terms “server” and “server device” are used to refer to anycomputing device capable of functioning as a server, such as a masterexchange server, web server, mail server, document server, or any othertype of server. A server may be a dedicated computing device or acomputing device including a server module (e.g., an application whichmay cause the computing device to operate as a server). A server module(e.g., server application) may be a full function server module, or alight or secondary server module (e.g., light or secondary serverapplication) that is configured to provide synchronization servicesamong the dynamic databases on computing devices. A light server orsecondary server may be a slimmed-down version of server typefunctionality that can be implemented on a computing device, such as asmart phone, thereby enabling it to function as an Internet server(e.g., an enterprise e-mail server) only to the extent necessary toprovide the functionality described herein.

The term “client device” refers to computer hardware(s) and/orsoftware(s) that is/are configured to access one or more services madeavailable by one or more servers. The server(s) is/are often (but notalways) on another computer system, in which case the client deviceaccesses the service by way of a network. A client device may beassociated with a group identification, where the group identificationis an electronic indication that suggests a group (e.g. user group) thatthe user belongs to. Client devices may include, without limitation,smart phones, tablet computers, laptop computers, desktop computers,wearable devices, personal computers, enterprise computers, and thelike.

The term “user” should be understood to refer to an individual, a groupof individuals, business, organization, and the like. Users may access agroup-based communication or messaging system using client devices.“Group-based” is used herein to refer to a system, channel, message, orvirtual environment that has security sufficient such that it isaccessible only to a defined group of users. The group may be defined bycommon access credentials such as those of an organization or commercialenterprise. Access may further be facilitated by a validated request tojoin or an invitation to join transmitted by one group member user toanother non-member user. Group identifiers (defined below) are used toassociate data, information, messages, etc., with specific groups.

The terms “user profile,” “user identification information,” “useraccount,” and “user account details” refer to information associatedwith a user, including, for example, a user identifier, one or moregroup-based communication channel identifiers associated withgroup-based communication channels that the user has been granted accessto, one or more group identifiers for groups with which the user isassociated, an indication as to whether the user is an owner of anygroup-based communication channels, an indication as to whether the userhas any group-based communication channel restrictions, a plurality ofmessages, a plurality of emojis, a plurality of conversations, aplurality of conversation topics, an avatar, an image, an email address,a real name (e.g., John Doe), a username (e.g., jdoe), a password, areal name, a time zone, a status, and the like. The user account detailscan include a subset designation of user credentials, such as, forexample, login information for the user including the user's usernameand password.

The term “group-based communication platform” refers to a collection ofcomputing services that are accessible to one or more client devices,and that are operable to provide access to a plurality of softwareapplications related to operations of databases. In some examples, thegroup-based communication platform may take the form of one or morecentral servers disposed in communication with one or more additionalservers running software applications, and having access to one or moredatabases storing digital content items, application-related data,and/or the like. The group-based communication platform may also supportclient retention settings and other compliance aspects. Further, thegroup-based communication platform may provide comprehensive third partydeveloper support that grants appropriate access to the data and allowsthird parties to build applications and bots to integrate withcustomer's workflows.

The term “communication channel” refers to an information route andassociated circuitry that is used for data exchange between and amongsystems and parts of systems. For example, a communication channel maybe established between and among various client devices, allowing theseclient devices to communicate and share data between and among eachother. A communication channel identification may be assigned to acommunication channel, which indicates the physical address in adatabase where related data of that communication channel is stored. Acommunication channel may be “public,” which may allow any client deviceto join and participate in the information sharing through thecommunication channel. A communication channel may be “private,” whichmay restrict data communications in the communication channel to certainclient devices and/or users.

The term “group-based communication channel interface” refers to avirtual communications environment or feed that is configured to displaymessaging communications posted by channel members (e.g., validatedusers accessing the environment using client devices) that are viewableonly to the members of the group. The format and attributes of thegroup-based communication channel may appear differently to differentmembers of the group-based communication channel; however, the contentof the group-based communication channel (e.g., messagingcommunications) may be displayed to each member of the group-basedcommunication channel. For instance, to allow for public viewing asdiscussed herein, a common set of group-based messaging communicationswill be displayed to each member of the respective group-basedcommunication channel such that the content of the group-basedcommunication channel (e.g., messaging communications) will not vary permember of the group-based communication channel. In some instances, toallow for one-sided viewing as discussed herein, a separate set ofgroup-based messaging communications will be displayed to each member ofone organization in a group-based communication channel but will not bedisplayed to any member of any other organization in the group-basedcommunication channel.

As used herein, the terms “messaging communication” and “message” referto any electronically generated digital content object provided by auser using a client device and that is configured for display within agroup-based communication channel. Message communications may includeany text, image, video, audio, or combination thereof provided by a user(using a client device). For instance, the user may provide a messagingcommunication that includes text as well as an image and a video withinthe messaging communication as message contents. In such a case, thetext, image, and video would comprise the messaging communication ordigital content object. Each message sent or posted to a group-basedcommunication channel of the group-based communication system includesmetadata comprising the following: a sending user identifier, a messageidentifier, message contents, a group identifier, and a group-basedcommunication channel identifier. Each of the foregoing identifiers maycomprise ASCII text, a pointer, a memory address, and the like.

In some embodiments, the group-based communication platform provides fornon-transitory “ephemeral” messages. Ephemeral messages refer tomessages that are viewable only by client devices associated with thecorrect identifier. The group-based communication platform providestechniques for receiving, transmitting, storing, and retrieving datawith an awareness of: (i) messages that only a particular member may see(e.g., if a member performs an action that results in an error, thegroup-based communication platform may transmit the message directly to,and only to, that member); (ii) ephemeral messages that are configuredto exist (e.g., to be transmitted, viewed, stored, searched, retrieved)on only a subset of members of the group-based communication channel;and (iii) messages that are broadcast to all members of the group-basedcommunication channel.

The terms “group-based communication channel identifier” or “channelidentifier” refer to one or more items of data by which a group-basedcommunication channel may be identified. For example, a group-basedcommunication channel identifier may comprise ASCII text, a pointer, amemory address, and the like.

The terms “group identifier” or “team identifier” refer to one or moreitems of data by which a group within a group-based communication systemmay be identified. For example, a group identifier may comprise ASCIItext, a pointer, a memory address, and the like.

A “sending user identifier” is associated with a collection of messagesthat are sent by a particular user (e.g., a client device associatedwith the particular user). These messages may be analyzed to determinecontext regarding the user (e.g., the user's expertise or interest in atopic may be determined based on the frequency of mention of the topicor key words associated with the topic within such messages).

Group-based communication system users may be organized intoorganization groups (e.g., employees of each company may be a separateorganization group) and each organization group may have one or moregroup-based communication channels (explained below) to which users maybe assigned or which the users may join (e.g., group-based communicationchannels may represent departments, geographic locations such asoffices, product lines, user interests, topics, issues, and/or thelike). A group identifier may be used to facilitate access control for amessage (e.g., access to the message, such as having the message returnas part of search results in response to a search query, may berestricted to those users having the group identifier associated withtheir user profile). The group identifier may be used to determinecontext for the message (e.g., a description of the group, such as thename of an organization and/or a brief description of the organization,may be associated with the group identifier).

Group-based communication system users may join group-basedcommunication channels. Some group-based communication channels may beglobally accessible to those users having a particular organizationalgroup identifier associated with their user profile (e.g., users who aremembers of the organization). Access to some group-based communicationchannels may be restricted to members of specified groups, whereby thegroup-based communication channels are accessible to those users havinga particular group identifier associated with their user profile. Thegroup-based communication channel identifier may be used to facilitateaccess control for a message (e.g., access to the message, such ashaving the message return as part of search results in response to asearch query, may be restricted to those users having the group-basedcommunication channel identifier associated with their user profile, orwho have the ability to join the group-based communication channel). Thegroup-based communication channel identifier may be used to determinecontext for the message (e.g., a description of the group-basedcommunication channel, such as a description of a project discussed inthe group-based communication channel, may be associated with thegroup-based communication channel identifier).

The term “group-based communication platform interface overlay” refersto a display screen overlay configured to be displayed, by a displaydevice, over or adjacent to the group-based communication platforminterface. For example, the group-based communication platform interfaceoverlay is configured to be displayed, by the display device incommunication with the client device, in the group-based communicationplatform interface as a display screen overlay.

The term “query” refers to a request associated with a database. A“query” may be generated on one or more client devices, and may betransmitted to a group-based communication platform. A query may be a“select query,” which is used to extract data from the database in areadable format according to the query. A query may be an “actionquery,” which asks for operations (such as insertion, deletion, and/orupdating) on the data stored in a network database. For example, a“communication channel generation query” is an action query thatrequests the generation of a communication channel.

The term “event” refers to identifiable, non-transitory occurrence thathas technical significance for system hardware and/or software. An eventmay represent some message, token, count, pattern, value, or marker thatcan be recognized by a computer system. An application may be triggeredto perform certain functions based on the event. For example, in agroup-based communication channel, a message sent by a user is an eventfor applications that utilize the event application programminginterface (API). An event may be user-generated, such as keystrokes ormouse movements, or system-generated, such as program loading anderrors.

The term “selectable” refers to data or content, such as an icon, thatis configured to be selected by a user using a user device. For example,data or content may be selected by the user in response to the userclicking the data or content using a mouse communicatively coupled tothe user device, touching the data or content using a touch screencommunicatively coupled to the user device, speaking a voice command toselect the data or content using a microphone communicatively coupled tothe user device, performing any other suitable action, or anycombination thereof.

The term “selection” refers to selectable data or content that has beenselected by the user using the user device.

The term “determination” refers to an electronic determination relatingto particular criteria. In some embodiments, when the particularcriteria is satisfied, the determination may be a first text string(e.g., “true”), a first binary number (e.g., “1”), a flag, or any othersuitable electronic indication that the criteria is satisfied. In someembodiments, when the particular criteria is not satisfied, thedetermination may be a second text string (e.g., “false”), a secondbinary number (e.g., “0”), the lack of a flag, a null value, or anyother suitable electronic indication that the criteria is not satisfied.

The term “editable” refers to data or content, such as a JSON payload,that is configured to be modified by a user using a user device. Forexample, an editable JSON payload may comprise code, text, numbers, orlinks that be deleted, changed, or added to by a user using a userdevice.

The term “attachment” refers to data, content, links (e.g., UniformResource Locators (URLs)), buttons, drop down menu boxes, interfaceelements, messages, and other suitable electronic information configuredto be displayed in the group-based communication platform interface asan attachment to a message. In some embodiments, an attachment may be asecond message may be configured to be displayed in association with afirst message (e.g., spatially below the first message). For example, anephemeral element definition message may configured to be displayed inthe group-based communication platform interface as an attachment to theinterface element. In another example, an ephemeral documentationmessage may be configured to be displayed in the group-basedcommunication platform interface as an attachment to the request for thegroup-based communication platform documentation. In another example, anephemeral command response message may be configured to be displayed inthe group-based communication platform interface as an attachment to therequest to perform the app-less API call. In yet another example, a setof selectable group-based communication platform API method names may beconfigured to be displayed in the group-based communication platforminterface as an attachment to the ephemeral documentation message, suchas in a drop down menu box viewable in the group-based communicationplatform interface in association with the ephemeral documentationmessage.

The term “interface element” refers to a message, icon, image, file,widget, frame, attachment, link, button, drop down menu box, or otherinterface element of the group-based communication platform interface.In some embodiments, an interface element may be viewable in agroup-based communication platform interface.

The term “inspect command” refers to a request or command indicative ofa request to perform an inspect action on an interface element viewablein the group-based communication platform interface. In someembodiments, the inspect command may comprise user identificationinformation for the user.

The term “inspect action” refers to an action performed by a user usinga user device to inspect an interface element. For example, an inspectaction may be included in a set of selectable actions displayed in thegroup-based communication platform interface in association with theinterface element, such as in a drop down menu box viewable in thegroup-based communication platform interface in association with theinterface element.

The term “user interaction event” refers to an interaction with thegroup-based communication platform interface by a user using a userdevice. For example, the user interaction event may comprise a rightclick event associated with an interface element; a mouse-over eventassociated with an interface element; a touch screen event associatedwith the interface element; a voice command event associated with theinterface element; any other suitable user interaction; or anycombination thereof.

The term “element definition payload” refers to a payload that definesan interface element (e.g., the raw JSON data from that interfaceelement). For example, the element definition payload may be a JSONelement definition payload comprising type data that defines theinterface element, user identification data that defines the interfaceelement, text data that defines the interface element, timestamp datathat defines the interface element, any other suitable data, or anycombination thereof.

The term “inspect action response message” refers to a messageresponsive to an inspect command. For example, the inspect actionresponse message may comprise the element definition payload andoverhead data (e.g., data associated with transmission of the inspectaction response message to a target destination). In some embodiments,an inspect action response message may further comprise the set ofmessage builder parameters.

The term “ephemeral element definition message” refers to an ephemeralmessage that defines an interface element and that is viewable only bythe client device associated with the inspect command. In someembodiments, the ephemeral element definition message is generated basedon the inspect action response message. The ephemeral element definitionmessage may be configured to be displayed in the group-basedcommunication platform interface in association with the interfaceelement. For example, the ephemeral element definition message mayconfigured to be displayed in the group-based communication platforminterface as an attachment to the interface element.

The term “message builder parameter” refers to parameters used inmessage builder embodiments described herein. For example, a messagebuilder parameter may refer to a parameter or data that defines anaspect of an interface element (e.g., the raw JSON data from that aspectof the interface element). In some embodiments, a set of message builderparameters for an interface element may comprise type data that definesthe interface element, user identification data that defines theinterface element, text data that defines the interface element,timestamp data that defines the interface element, any other suitabledata, or any combination thereof.

The term “message builder action” refers to an action performed by auser using a user device to edit an editable interface element and viewa preview of the edited interface element. For example, a messagebuilder action may be a selectable message builder action displayed inthe group-based communication platform interface in association with theephemeral element definition message, such as a selectable icon viewablein the group-based communication platform interface as an attachment tothe ephemeral element definition message.

The term “message builder interface” refers to an interface that allowsa user to edit an editable interface element and view preview of theedited interface element. In some embodiments, the message builderinterface may be a part of the group-based communication channelinterface. In other embodiments, the message builder interface may be aseparate interface accessible from the group-based communication channelinterface, such as via a selectable link or button whose selection by auser using a user device may form the message builder action.

The term “preview message” refers to a preview of an edited interfaceelement (e.g., an edited JSON element definition payload) viewable inthe message builder interface.

The terms “documentation” and “group-based communication platformdocumentation” refer to electronic documentation relating to thegroup-based communication platform, such as documentation comprisingimplementation parameters about a specific API method.

The term “documentation request command” refers to a request or commandindicative of a request for group-based communication platformdocumentation. The request may have been provided by a user using aclient device. The documentation request command may comprise electronicinformation indicative of a requested API method name. In someembodiments, the request may comprise a command (e.g., a slash command,a documentation command, or both) and the requested API method name, andthe group-based communication system may be further configured to, inresponse to receipt of the request, generate the documentation requestcommand based on the command and the requested API method name. In someembodiments, the documentation request command may comprise useridentification information for the user.

The terms “API method name,” “group-based communication platform APImethod name,” and “suggested group-based communication platform APImethod name” refer to a unique identifier for a particular API method,such as a text string, a hexadecimal text string, a number, a binarynumber, a pointer, a link, a cryptonym, or any other suitableidentifier. In some embodiments, a user may use a user device to input arequested API method name, which may or may not correspond to agroup-based communication platform API method name. For example, therequested API method name may be identical to a group-basedcommunication platform API method name in a set of group-basedcommunication platform API method names included in a group-basedcommunication platform API specification. In another example, therequested API method name may not be identical to any group-basedcommunication platform API method name in the set of group-basedcommunication platform API method names, such as when the requested APImethod name is misspelled by the user.

The term “group-based communication platform API specification” refersto electronic information relating to the group-based communicationplatform, such as documentation comprising implementation parametersabout a specific API method. For example, the group-based communicationplatform API specification may comprise a set of group-basedcommunication platform documentation information associated with a setof group-based communication platform API method names, wherein each ofthe group-based communication platform documentation information isassociated with a particular group-based communication platform APImethod name.

The term “documentation payload” refers to a payload for a documentationresponse message, such as a JSON documentation payload. In someembodiments, the documentation response message may comprise a JSONdocumentation payload comprising group-based communication platformdocumentation information associated with a group-based communicationplatform documentation API method name. In some embodiments, thegroup-based communication platform documentation information may be aportion or subset of the group-based communication platformdocumentation information associated with the group-based communicationplatform documentation API method name comprised by the group-basedcommunication platform API specification. For example, the group-basedcommunication platform documentation information may be an “API QuickReference documentation” portion or subset of the group-basedcommunication platform documentation information associated with thegroup-based communication platform documentation API method name. Insome embodiments, the group-based communication platform documentationinformation may further comprise a selectable documentation icon (e.g.,“Read full docs”) comprising a link to the entire group-basedcommunication platform documentation information associated with thegroup-based communication platform API method name.

The term “documentation response message” refers to a message responsiveto a documentation request command. For example, the documentationresponse message may comprise the documentation payload and overheaddata (e.g., data associated with transmission of the documentationresponse message to a target destination).

The term “ephemeral documentation message” refers to an ephemeralmessage responsive to a documentation request command and that isviewable only by the client device associated with the documentationrequest command. In some embodiments, the ephemeral documentationmessage is generated based on the documentation response message. Theephemeral documentation message may be configured to be displayed in thegroup-based communication platform interface in association with therequest for group-based communication platform documentation. Forexample, the ephemeral documentation message may configured to bedisplayed in the group-based communication platform interface as anattachment to the request for group-based communication platformdocumentation.

The term “group-based communication platform documentation authorizationrequest command” refers to a request for a group-based communicationplatform documentation authorization token indicating that the user hasauthorization to view the group-based communication platformdocumentation information associated with the group-based communicationplatform documentation API method name. The group-based communicationplatform documentation authorization request command may comprise useridentification information for the user and the group-basedcommunication platform documentation API method name.

The term “group-based communication platform documentation authorizationtoken” refers to an electronic token or data structure indicating thatthe user has authorization to view the group-based communicationplatform documentation information associated with the group-basedcommunication platform documentation API method name.

The term “string similarity request” refers to a request to perform aset of string similarity calculation between a requested API method nameand a set of group-based communication platform documentation API methodnames in a group-based communication platform API specification. In someembodiments, the string similarity request may comprise the requestedAPI method name and the group-based communication platform APIspecification. In some embodiments, the string similarity request maycomprise the requested API method name and a link or pointer to thegroup-based communication platform API specification.

The term “semantic similarity score” refers to a quantitative valueindicative of an amount of semantic similarity (e.g., distance) betweentwo text strings. For example, a semantic similarity score may be aquantitative value indicative of an amount of semantic similaritybetween a requested API method name and one of the group-basedcommunication platform documentation API method names in the set ofgroup-based communication platform documentation API method names. Thesemantic similarity score may be generated by performing a stringsimilarity calculation using natural language processing techniques,such as string-based semantic similarity techniques, character-basedsemantic similarity techniques (e.g., longest common substring (LCS),Damerau-Levenshtein, Jaro, Jaro-Winkler, Needleman-Wunsch,Smith-Waterman, N-gram), and term-based semantic similarity techniques(e.g., block distance, cosine similarity, Dice's coefficient, Euclideandistance, Jaccard similarity, matching coefficient, overlapcoefficient).

The term “suggested group-based communication platform API method name”refers to a group-based communication platform documentation API methodname with a semantic similarity score above a predetermined value (e.g.,above or equal to 0.8 on a scale of 0.0 to 1.0) or ranking (e.g., thethree highest semantic similarity scores in the set of semanticsimilarity scores). For example, the suggested group-based communicationplatform API method name “api.test” may be generated in response to therequested API method name “apites.” In another example, the suggestedgroup-based communication platform API method names “chat.postEphemeral”and “chat.postMessage” may be generated in response to the requested APImethod name “chat.post.”

The term “group-based communication platform API method nameconfirmation icon” refers to a selectable icon indicative of aconfirmation or a denial of a selection, by a user using a user device,of a selectable group-based communication platform API method name. Forexample, the group-based communication platform API method nameconfirmation icon may be an affirmative group-based communicationplatform API method name confirmation icon (e.g., “Yes”) indicative of aconfirmation a selection of a selectable group-based communicationplatform API method name. Selection of the affirmative group-basedcommunication platform API method name confirmation icon may result inthe generation of a documentation request command for the selectedgroup-based communication platform API method name. In another example,the group-based communication platform API method name confirmation iconmay be a negative group-based communication platform API method nameconfirmation icon (e.g., “No”) indicative of a denial a selection of aselectable group-based communication platform API method name. Selectionof the negative group-based communication platform API method nameconfirmation icon may not result in the generation of a documentationrequest command for the selected group-based communication platform APImethod name. Rather, selection of the negative group-based communicationplatform API method name confirmation icon may return the group-basedcommunication platform interface to the display of the set of selectablegroup-based communication platform API method name confirmation icons.

The phrase “command indicative of a request to perform an app-less APIcall in the group-based communication platform” refers to a commandindicative of a request to perform an app-less API call in thegroup-based communication platform. The request may have been providedby a user using the client device. The command may comprise electronicinformation indicative of a requested API method name and a set ofrequested call parameters (e.g., “docs,” “test_webhook,” “help”).

The term “app-less API call” refers to a request to be executed using aparticular API that is entered directly into a group-based communicationplatform interface and invokes a development tool to perform the requestusing the API. The API call is considered “app-less” because a thirdparty resource developer is provided access to the API using only thedevelopment tool and the group-based communication platform interface,and without the third party resource developer having to have created athird party resource to access the API.

The term “response to the app-less API call” refers to raw data receivedin response to making the app-less API call.

The term “app-less API call response message” refers to a message refersto a message responsive to a command indicative of a request to performan app-less API call in the group-based communication platform. Forexample, the app-less API call response message may comprise an app-lessAPI call response payload and overhead data (e.g., data associated withtransmission of the app-less API call response message to a targetdestination). In some embodiments, the app-less API call responsemessage may comprise a call definition payload that defines the commandand the response to the app-less API call.

The term “ephemeral command response message” refers to an ephemeralmessage responsive to a command indicative of a request to perform anapp-less API call in the group-based communication platform and that isviewable only by the client device associated with the inspect command.In some embodiments, the ephemeral command response message is generatedbased on the app-less API call response message. The ephemeral commandresponse message may be configured to be displayed by the client devicein the group-based communication platform interface in association withthe request to perform the app-less API call. For example, the ephemeralcommand response message may configured to be displayed in thegroup-based communication platform interface as an attachment to therequest to perform the app-less API call.

The term “call definition payload” refers to a payload that defines thecommand indicative of a request to perform an app-less API call in thegroup-based communication platform and the response to the app-less APIcall (e.g., the raw JSON data from that app-less API call). For example,the call definition payload may be a JSON call definition payloadcomprising: type data that defines the command; user identification datathat defines the command; text data that defines the command; timestampdata that defines the command; type data that defines the response tothe app-less API call; API method identification data that defines theresponse to the app-less API call; text data that defines the responseto the app-less API call; timestamp data that defines the response tothe app-less API call; any other suitable data, or any combinationthereof.

The term “call builder parameter” refers to parameters used in callbuilder embodiments described herein. For example, a call builderparameter may refer to a parameter or data that defines an aspect of acommand indicative of a request to perform an app-less API call in thegroup-based communication platform and a response to the app-less APIcall (e.g., the raw JSON data from that aspect of the app-less APIcall). In some embodiments, a set of call builder parameters for anapp-less API call may comprise: type data that defines the command; useridentification data that defines the command; text data that defines thecommand; timestamp data that defines the command; type data that definesthe response to the app-less API call; API method identification datathat defines the response to the app-less API call; text data thatdefines the response to the app-less API call; timestamp data thatdefines the response to the app-less API call; any other suitable data,or any combination thereof.

The term “call builder action” refers to an action performed by a userusing a user device to edit an editable app-less API call and view apreview of the edited app-less API call. For example, a call builderaction may be a selectable call builder action displayed in thegroup-based communication platform interface in association with theephemeral command response message, such as a selectable icon viewablein the group-based communication platform interface as an attachment tothe ephemeral command response message.

The term “call builder interface” refers to an interface that allows auser to edit an editable app-less API call and view preview of theedited app-less API call. In some embodiments, the call builderinterface may be a part of the group-based communication channelinterface. In other embodiments, the call builder interface may be aseparate interface accessible from the group-based communication channelinterface, such as via a selectable link or button whose selection by auser using a user device may form the call builder action.

Having set forth a series of definitions called-upon throughout thisapplication, an example system architecture is described below forimplementing example embodiments and features of the present disclosure.

System Architecture

Methods, systems, apparatuses, and computer program products of thepresent disclosure may be embodied by any of a variety of devices. Forexample, the method, system, apparatus, and computer program product ofan example embodiment may be embodied by a networked device, such as oneor more servers, remote servers, cloud-based servers (e.g., cloudutilities), or other network entities, configured to communicate withone or more devices, such as one or more server devices, client devices,remote devices, or a combination thereof. Example embodiments of theclient devices include any of a variety of stationary or mobilecomputing devices, such as a mobile telephone, smartphone, smartwatch,smart speaker, portable digital assistant (PDA), tablet computer, laptopcomputer, desktop computer, kiosk computer, electronic workstation,robot, chatbot, any other suitable computing device, or any combinationof the aforementioned devices.

FIG. 1 illustrates a system diagram of a set of devices that may beinvolved in some example embodiments described herein. In this regard,FIG. 1 discloses an example environment 100 within which embodiments ofthe present disclosure may operate to provide group-based communication,such as by providing for inspecting an interface element viewable in agroup-based communication platform interface, electronically retrievingdocumentation in the group-based communication platform interface,providing app-less rendering in a group-based communication platforminterface, and combinations thereof. As illustrated, a group-basedcommunication system 102 may be connected to one or more group-basedcommunication server devices 104 in communication with one or moregroup-based communication databases 106. The group-based communicationsystem 102 may be connected to one or more server devices 110A-110N, oneor more client devices 112A-112N, one or more API specification servers114, and one or more other documentation servers 116 through one or morecommunications networks 108. One or more communications networks 108 mayinclude any suitable network or combination of networks, such as avirtual network, the Internet, a local area network (LAN), a Wi-Finetwork, a Worldwide Interoperability for Microwave Access (WiMAX)network, a home network, a cellular network, a near field communications(NFC) network, other types of networks, or a combination thereof.

The group-based communication system 102 may be embodied as one or moregeneral-purpose or specialized circuitries, processors, memories,computers, or computing systems, or any combination thereof. Thegroup-based communication system 102 may comprise one or moregroup-based communication server devices 104 and one or more group-basedcommunication databases 106. The one or more group-based communicationserver devices 104 may be embodied as one or more servers, remoteservers, cloud-based servers (e.g., cloud utilities), processors, anyother suitable server devices, or any combination thereof. The one ormore group-based communication server devices 104 are configured toreceive, process, generate, store, and transmit data, signals, andelectronic information to facilitate the operations of the group-basedcommunication system 102. The one or more group-based communicationdatabases 106 may be embodied as one or more data storage devices, suchas Network Attached Storage (NAS) devices or separate databases orservers. The one or more group-based communication databases 106 areconfigured to store and provide access to data and information used bythe group-based communication system 102 to facilitate the operations ofthe group-based communication system 102. For example, the one or moregroup-based communication databases 106 may store user accountcredentials for users of one or more server devices 110A-110N, one ormore client devices 112A-112N, one or more API specification servers114, one or more other documentation servers 116, or a combinationthereof. In another example, the one or more group-based communicationdatabases 106 may store data regarding device characteristics for theone or more server devices 110A-110N, one or more client devices112A-112N, one or more API specification servers 114, one or more otherdocumentation servers 116, or a combination thereof.

The one or more server devices 110A-110N may be embodied as one or moregeneral-purpose or specialized circuitries, processors, memories,computers, or computing systems, or any combination thereof. In someembodiments, the one or more server devices 110A-110N may be embodied asone or more servers, remote servers, cloud-based servers (e.g., cloudutilities), processors, or any other suitable devices, or anycombination thereof. For example, the one or more server devices110A-110N may be session authentication servers. In some embodiments,the one or more server devices 110A-110N may receive, process, generate,store, and transmit data, signals, and electronic information tofacilitate the operations of the group-based communication system 102.Information received by the group-based communication system 102 fromone or more server devices 110A-110N may be provided in various formsand via various methods.

The one or more client devices 112A-112N may be embodied as one or moregeneral-purpose or specialized circuitries, processors, memories,computers, or computing systems, or any combination thereof. Informationreceived by the group-based communication system 102 from the one ormore client devices 112A-112N may be provided in various forms and viavarious methods. For example, the one or more client devices 112A-112Nmay be smartphones, laptop computers, netbooks, tablet computers,wearable devices, desktop computers, electronic workstations, or thelike, and the information may be provided through various modes of datatransmission provided by these client devices. In some embodiments, theone or more client devices 112A-112N may include or store various dataand electronic information associated with one or more users. In someembodiments, the one or more client devices 112A-112N may be associatedwith one or more users.

In embodiments where a client device 112 is a mobile device, such as asmartphone or tablet, the mobile device may execute a group-basedcommunication “app” (e.g., a thin-client application) to interact withthe group-based communication system 102, one or more server devices110A-110N, one or more API specification servers 114, one or more otherdocumentation servers 116, or a combination thereof. The group-basedcommunication app may be designed to execute on mobile devices, such astablets or smartphones. For example, the group-based communication appmay be configured to execute on mobile device operating systems such asApple Inc.'s iOS, Google LLC's Android®, or Microsoft Corporation'sWindows®. These platforms may provide frameworks that allow thegroup-based communication app to communicate with other apps and withparticular hardware and software components of mobile devices. Forexample, the mobile operating systems named above each provideframeworks for interacting with location services circuitry, wired andwireless network interfaces, user contacts, and other applications in amanner that allows for improved interactions between apps while alsopreserving the privacy and security of individual users. In someembodiments, a mobile operating system may also provide for improvedcommunication interfaces for interacting with external devices (e.g.,server devices, client devices, API specification servers, otherdocumentation servers). Communication with hardware and software modulesexecuting outside of the group-based communication app may be providedvia API circuitry provided by the group-based communication system 102,the mobile device operating system, or both.

The one or more API specification servers 114 may be embodied by anysuitable computing device. In some embodiments, the one or more APIspecification servers 114 may be embodied as one or more data storagedevices, such as one or more NAS devices, or as one or more separatedatabases or database servers. In some embodiments, the one or more APIspecification servers 114 may be embodied as one or more servers, remoteservers, cloud-based servers (e.g., cloud utilities), processors, or anyother suitable devices, or any combination thereof. In some embodiments,the one or more API specification servers 114 may receive, process,generate, store, and transmit data, signals, and electronic informationto facilitate the operations of the group-based communication system102. Information received by the group-based communication system 102from one or more API specification servers 114 may be provided invarious forms and via various methods. It will be understood, however,that in some embodiments, the one or more API specification servers 114need not themselves be databases or database servers, but may beperipheral devices communicatively coupled to databases or databaseservers.

In some embodiments, the one or more API specification servers 114 mayinclude or store various data and electronic information associated withone or more group-based communication platform API specifications. Forexample, the one or more API specification servers 114 may include orstore a group-based communication platform API specification comprisinga set of group-based communication platform documentation informationassociated with a set of group-based communication platformdocumentation API method names. In one illustrative example, an APIspecification server 114 may receive, from the group-based communicationsystem 102 over the one or more communications networks 108, a requestfor a group-based communication platform API specification; andtransmit, to the group-based communication system 102 over the one ormore communications networks 108, the group-based communication platformAPI specification.

The one or more other documentation servers 116 may be embodied by anysuitable computing device. In some embodiments, the one or more otherdocumentation servers 116 may be embodied as one or more data storagedevices, such as one or more NAS devices, or as one or more separatedatabases or database servers. In some embodiments, the one or moreother documentation servers 116 may be embodied as one or more servers,remote servers, cloud-based servers (e.g., cloud utilities), processors,or any other suitable devices, or any combination thereof. In someembodiments, the one or more other documentation servers 116 mayreceive, process, generate, store, and transmit data, signals, andelectronic information to facilitate the operations of the group-basedcommunication system 102. Information received by the group-basedcommunication system 102 from one or more other documentation servers116 may be provided in various forms and via various methods. Forexample, the one or more other documentation servers 116 may include orstore various data and electronic information associated with one ormore group-based communication platform specifications or documents. Itwill be understood, however, that in some embodiments, the one or moreother documentation servers 116 need not themselves be databases ordatabase servers, but may be peripheral devices communicatively coupledto databases or database servers.

Additionally or alternatively, the one or more server devices 110A-110N,the one or more client devices 112A-112N, the one or more APIspecification servers 114, the one or more other documentation servers116, or any combination thereof may interact with the group-basedcommunication system 102 over one or more communications networks 108.As yet another example, the one or more server devices 110A-110N, theone or more client devices 112A-112N, the one or more API specificationservers 114, the one or more other documentation servers 116, or acombination thereof may include various hardware or firmware designed tointerface with the group-based communication system 102. For example, anexample server device 110A may be a session authentication servermodified to communicate with the group-based communication system 102,and another example server device 110B may be a purpose-built sessionauthentication server offered for the primary purpose of communicatingwith the group-based communication system 102. As another example, anexample client device 112A may be a user's smartphone and may have anapplication stored thereon facilitating communication with thegroup-based communication system 102, whereas another example clientdevice 112B may be a purpose-built device (e.g., a robot comprising avirtual assistant or chatbot) offered for the primary purpose ofcommunicating with the group-based communication system 102.

In some embodiments, the group-based communication system 102 mayprovide for inspecting an interface element (e.g., message, icon, image,file, widget, frame, or other interface element) viewable in agroup-based communication platform interface displayed by a clientdevice 112 or a display device in communication with the client device112. For example, the group-based communication system 102 may providefor receiving, from the client device 112, an inspect command indicativeof a request to perform an inspect action on the interface elementviewable in the group-based communication platform interface. Therequest may have been provided by a user using the client device 112.The group-based communication system 102 may further provide forgenerating an element definition payload based on the inspect command.The group-based communication system 102 may further provide forgenerating an inspect action response message comprising the elementdefinition payload. The group-based communication system 102 may furtherprovide for generating an ephemeral element definition message based onthe inspect action response message. The ephemeral element definitionmessage may be configured to be displayed, by the client device 112 or adisplay device in communication with the client device 112, in thegroup-based communication platform interface in association with theinterface element. The group-based communication system 102 may furtherprovide for transmitting, to the client device 112, the ephemeralelement definition message.

In some embodiments, the group-based communication system 102 mayprovide for electronically retrieving documentation in a group-basedcommunication platform interface displayed by a client device 112 or adisplay device in communication with the client device 112. Thegroup-based communication system 102 may provide for receiving, from aclient device 112, a documentation request command indicative of arequest for group-based communication platform documentation. Therequest may have been provided by a user using the client device 112.The documentation request command may comprise electronic informationindicative of a requested API method name. The group-based communicationsystem 102 may further provide for, in response to receiving thedocumentation request command, retrieving, from an API specificationserver 114, a group-based communication platform API specificationcomprising a set of group-based communication platform documentationinformation associated with a set of group-based communication platformdocumentation API method names. The group-based communication system 102may further provide for determining whether the requested API methodname corresponds to any group-based communication platform documentationAPI method name in the set of group-based communication platformdocumentation API method names. The group-based communication system 102may further provide for generating a documentation response messagebased on the determination of whether the requested API method namecorresponds to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names. The group-based communication system 102may further provide for generating an ephemeral documentation messagebased on the documentation response message. The ephemeral documentationmessage may be configured to be displayed, by the client device 112 or adisplay device in communication with the client device 112, in thegroup-based communication platform interface in association with therequest for the group-based communication platform documentation. Thegroup-based communication system 102 may further provide fortransmitting, to the client device 112, the ephemeral documentationmessage.

In some embodiments, the group-based communication system 102 mayprovide for providing app-less rendering in a group-based communicationplatform interface displayed by a client device 112 or a display devicein communication with the client device 112. The group-basedcommunication system 102 may provide for receiving, from a client device112, a command indicative of a request to perform an app-less API callin the group-based communication platform. The request may have beenprovided by a user using the client device 112. The command may compriseelectronic information indicative of a requested API method name and aset of requested call parameters. The group-based communication system102 may further provide for generating an app-less API call based on therequested API method name and the set of requested call parameters. Thegroup-based communication system 102 may further provide for generatinga response to the app-less API call. The group-based communicationsystem 102 may further provide for generating an app-less API callresponse message based on the command and the response to the app-lessAPI call. The group-based communication system 102 may further providefor generating an ephemeral command response message based on theapp-less API call response message. The ephemeral command responsemessage may be configured to be displayed by the client device 112 or adisplay device in communication with the client device 112, in thegroup-based communication platform interface in association with therequest to perform the app-less API call. The group-based communicationsystem 102 may further provide for transmitting, to the client device112, the ephemeral command response message.

Example Implementing Apparatus

The group-based communication system 102 described with reference toFIG. 1 may be embodied by one or more computing systems, such asapparatus 200 shown in FIG. 2. As illustrated in FIG. 2, the apparatus200 may include processing circuitry 202, memory 204, input-outputcircuitry 206, communications circuitry 208, API circuitry 210, inspectaction response generation circuitry 212, documentation responsegeneration circuitry 214, app-less API call response generationcircuitry 216, interface generation circuitry 218, message buildercircuitry 220, call builder circuitry 222, authentication circuitry 224,and NLP circuitry 226. The apparatus 200 may be configured to executethe operations described above with respect to FIG. 1 and below withrespect to FIGS. 3-8. Although some of these components 202-226 aredescribed with respect to their functional capabilities, it should beunderstood that the particular implementations necessarily include theuse of particular hardware to implement such functional capabilities. Itshould also be understood that certain of these components 202-226 mayinclude similar or common hardware. For example, two sets of circuitrymay both leverage use of the same processor, network interface, storagemedium, or the like to perform their associated functions, such thatduplicate hardware is not required for each set of circuitry.

The use of the term “circuitry” as used herein with respect tocomponents of the apparatus 200 therefore includes particular hardwareconfigured to perform the functions associated with respective circuitrydescribed herein. Of course, while the term “circuitry” should beunderstood broadly to include hardware, in some embodiments, circuitrymay also include software for configuring the hardware. For example, insome embodiments, “circuitry” may include processing circuitry, storagemedia, network interfaces, input-output devices, and other components.In some embodiments, other elements of the apparatus 200 may provide orsupplement the functionality of particular circuitry. For example, theprocessing circuitry 202 may provide processing functionality, memory204 may provide storage functionality, and communications circuitry 208may provide network interface functionality, among other features.

In some embodiments, the processing circuitry 202 (and/or co-processoror any other processing circuitry assisting or otherwise associated withthe processor) may be in communication with the memory 204 via a bus forpassing information among components of the apparatus. The memory 204may be non-transitory and may include, for example, one or more volatileand/or non-volatile memories. For example, the memory may be anelectronic storage device (e.g., a computer readable storage medium).The memory 204 may be configured to store electronic information, data,content, applications, instructions, or the like, for enabling theapparatus to carry out various functions in accordance with exampleembodiments of the present disclosure.

The processing circuitry 202 may be embodied in a number of differentways and may, for example, include one or more processing devicesconfigured to perform independently. Additionally or alternatively, theprocessing circuitry 202 may include one or more processors configuredin tandem via a bus to enable independent execution of instructions,pipelining, and/or multithreading. The use of the term “processingcircuitry” may be understood to include a single core processor, amulti-core processor, multiple processors internal to the apparatus,and/or remote or “cloud” processors.

In an example embodiment, the processing circuitry 202 may be configuredto execute instructions stored in the memory 204 or otherwise accessibleto the processor. Alternatively or additionally, the processor may beconfigured to execute hard-coded functionality. As such, whetherconfigured by hardware or software methods, or by a combination ofhardware with software, the processor may represent an entity (e.g.,physically embodied in circuitry) capable of performing operationsaccording to an embodiment of the present disclosure while configuredaccordingly. As another example, when the processor is embodied as anexecutor of software instructions, the instructions may specificallyconfigure the processor to perform the functionality and/or operationsdescribed herein when the instructions are executed.

In some embodiments, the apparatus 200 may include input-outputcircuitry 206 that may, in turn, be in communication with processingcircuitry 202 to provide output to the user and, in some embodiments, toreceive an indication of a user input such as a request or commandprovided by a user using a client device (e.g., client device 112). Theinput-output circuitry 206 may comprise a group-based communicationplatform interface (e.g., a group-based communication platform interfacegenerated by interface generation circuitry 218) comprising a displaythat may include a web interface, a mobile application, a displayscreen, a display screen overlay (e.g., a group-based communicationplatform interface overlay), or any other suitable hardware or software.In some embodiments, the input-output circuitry 206 may also include akeyboard, a mouse, a joystick, a touch screen, touch areas, soft keys, amicrophone, a speaker, or other input-output mechanisms. The processingcircuitry 202 and/or input-output circuitry 206 (which may utilize theprocessing circuitry 202) may be configured to control one or morefunctions of one or more group-based communication platform interfaceelements through computer program instructions (e.g., software,firmware) stored on a memory (e.g., memory 204). Input-output circuitry206 is optional and, in some embodiments, the apparatus 200 may notinclude input-output circuitry. For example, where the apparatus 200does not interact directly with the user, the apparatus 200 may generate(e.g., by interface generation circuitry 218) group-based communicationplatform interface data for display by one or more other client deviceswith which one or more users directly interact and transmit thegenerated group-based communication platform interface data to one ormore of those client devices.

The communications circuitry 208 may be any device or circuitry embodiedin either hardware or a combination of hardware and software that isconfigured to receive and/or transmit data from or to a network and/orany other device, circuitry, or module in communication with theapparatus 200. In this regard, the communications circuitry 208 mayinclude, for example, a network interface for enabling communicationswith a wired or wireless communication network. For example, thecommunications circuitry 208 may include one or more network interfacecards, antennae, buses, switches, routers, modems, and supportinghardware and/or software, or any other device suitable for enablingcommunications via a network. In some embodiments, the communicationinterface may include the circuitry for interacting with the antenna(s)to cause transmission of signals via the antenna(s) or to handle receiptof signals received via the antenna(s). These signals may be transmittedby the apparatus 200 using any of a number of wireless personal areanetwork (PAN) technologies, such as Bluetooth® v1.0 through v5.0,Bluetooth Low Energy (BLE), infrared wireless (e.g., IrDA),ultra-wideband (UWB), induction wireless transmission, or any othersuitable technologies. In addition, it should be understood that thesesignals may be transmitted using Wi-Fi, NFC, WiMAX or otherproximity-based communications protocols.

The API circuitry 210 includes hardware components designed orconfigured to request, receive, process, generate, store, and transmitdata, data structures, control signals, and electronic information foruse in group-based communication. In some embodiments, the API circuitry210 may be configured to receive, from the interface generationcircuitry 218, an inspect command indicative of a request to perform aninspect action on the interface element viewable in the group-basedcommunication platform interface. The request may have been provided bya user using a client device (e.g., client device 112). The APIcircuitry 210 may be further configured to transmit, to the inspectaction response generation circuitry 212, the inspect command. The APIcircuitry 210 may be further configured to receive, from the inspectaction response generation circuitry 212, an inspect action responsemessage comprising an element definition payload. The API circuitry 210may be further configured to transmit, to the interface generationcircuitry 218, the inspect action response message.

In some embodiments, the API circuitry 210 may be configured to receive,from the interface generation circuitry 218, a documentation requestcommand indicative of a request for group-based communication platformdocumentation. The request may have been provided by a user using aclient device (e.g., client device 112). The documentation requestcommand may comprise electronic information indicative of a requestedAPI method name. The API circuitry 210 may be further configured totransmit, to the documentation response generation circuitry 214, thedocumentation request command. The API circuitry 210 may be furtherconfigured to receive, from the documentation response generationcircuitry 214, a documentation response message. The API circuitry maybe further configured to transmit, to the interface generation circuitry218, the documentation response message.

In some embodiments, the API circuitry 210 may be configured to receive,from the interface generation circuitry 218, a command indicative of arequest to perform an app-less API call in the group-based communicationplatform. The request may have been provided by a user using a clientdevice (e.g., client device 112). The command may comprise electronicinformation indicative of a requested API method name and a set ofrequested call parameters. The API circuitry 210 may be furtherconfigured to transmit, to the app-less API call response generationcircuitry 216, the command. The API circuitry 210 may be furtherconfigured to receive, from the app-less API call response generationcircuitry 216, an app-less API call. The API circuitry 210 may befurther configured to generate a response to the app-less API call. TheAPI circuitry 210 may be further configured to transmit, to the app-lessAPI call response generation circuitry 216, the response to the app-lessAPI call. The API circuitry 210 may be further configured to receive,from the app-less API call response generation circuitry 216, anapp-less API call response message. The API circuitry 210 may be furtherconfigured to transmit, to the interface generation circuitry 218, theapp-less API call response message.

The inspect action response generation circuitry 212 includes hardwarecomponents designed or configured to request, receive, process,generate, store, and transmit data, data structures, control signals,and electronic information for use in group-based communication. In someembodiments, the inspect action response generation circuitry 212 may beconfigured to receive, from the API circuitry 210, the inspect command.The inspect action response generation circuitry 212 may be furtherconfigured to generate an element definition payload based on theinspect command. The inspect action response generation circuitry 212may be further configured to generate an inspect action response messagecomprising the element definition payload. In some embodiments, theelement definition payload may comprise a JSON element definitionpayload. The JSON element definition payload may comprise type data thatdefines the interface element, user identification data that defines theinterface element, text data that defines the interface element,timestamp data that defines the interface element, any other suitabledata, or any combination thereof. In some embodiments, the inspectaction response generation circuitry 212 may be further configured togenerate a set of message builder parameters based on the inspectcommand. The inspect action response message may further comprise theset of message builder parameters. The inspect action responsegeneration circuitry 212 may be further configured to transmit, to theAPI circuitry 210, the inspect action response message.

The documentation response generation circuitry 214 includes hardwarecomponents designed or configured to request, receive, process,generate, store, and transmit data, data structures, control signals,and electronic information for use in group-based communication. In someembodiments, the documentation response generation circuitry 214 may beconfigured to receive, from the API circuitry 210, the documentationrequest command. The documentation response generation circuitry 214 maybe further configured to, in response to receipt of the documentationrequest command, retrieve, from an API specification server (e.g., APIspecification server 114), a group-based communication platform APIspecification comprising a set of group-based communication platformdocumentation information associated with a set of group-basedcommunication platform documentation API method names. The documentationresponse generation circuitry 214 may be further configured to generatea determination indicative of whether the requested API method namecorresponds to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names. The documentation response generationcircuitry 214 may be further configured to generate a documentationresponse message based on the determination. In some embodiments, thedocumentation response message may comprise a JSON documentationpayload. The documentation response generation circuitry 214 may befurther configured to transmit, to the API circuitry 210, thedocumentation response message.

In some embodiments, the requested API method name may be identical to agroup-based communication platform API method name in the set ofgroup-based communication platform API method names. In suchembodiments, the documentation response generation circuitry 214 may befurther configured to generate a determination indicating that therequested API method name corresponds to the group-based communicationplatform documentation API method name in the set of group-basedcommunication platform documentation API method names. The documentationresponse message may comprise the group-based communication platformdocumentation information associated with the group-based communicationplatform documentation API method name.

In some embodiments, the documentation request command may comprise useridentification information for the user, and the documentation responsegeneration circuitry 214 may be further configured to: generate agroup-based communication platform documentation authorization requestcommand comprising the user identification information and thegroup-based communication platform documentation API method name;transmit, to authentication circuitry 224 in communication with thedocumentation response generation circuitry 214, the group-basedcommunication platform documentation authorization request command;receive, from the authentication circuitry 224, a group-basedcommunication platform documentation authorization token indicating thatthe user has authorization to view the group-based communicationplatform documentation information associated with the group-basedcommunication platform documentation API method name; and in response toreceipt of the group-based communication platform documentationauthorization token, generate the documentation response message.

In some embodiments, the requested API method name may not be identicalto any group-based communication platform API method name in the set ofgroup-based communication platform API method names. In suchembodiments, the documentation response generation circuitry 214 may befurther configured to: generate a determination indicating that therequested API method name does not correspond to any group-basedcommunication platform documentation API method name in the set ofgroup-based communication platform documentation API method names;transmit, to NLP circuitry 226 in communication with the documentationresponse generation circuitry 214, a string similarity requestcomprising the requested API method name and the group-basedcommunication platform API specification; and receive, from the NLPcircuitry 226, a set of suggested group-based communication platform APImethod names, wherein the documentation response message comprises theset of suggested group-based communication platform API method names.

In some embodiments, the documentation response message may be a firstdocumentation response message, and the API circuitry 210 may be furtherconfigured to: receive, from the interface generation circuitry 218, asecond documentation request command; transmit, to the documentationresponse generation circuitry 214, the second documentation requestcommand; receive, from the documentation response generation circuitry214, a second documentation response message; and transmit, to theinterface generation circuitry 218, the second documentation responsemessage. In some embodiments, the documentation response generationcircuitry 214 may be further configured to receive, from the APIcircuitry 210, the second documentation request command; generate thesecond documentation response message based on the selection of theselectable group-based communication platform API method name, whereinthe second documentation response message comprises the group-basedcommunication platform documentation information associated with theselection of the selectable group-based communication platform APImethod name; and transmit, to the API circuitry 210, the seconddocumentation response message.

In some embodiments, the second documentation request command maycomprise user identification information for the user, and thedocumentation response generation circuitry 214 may be furtherconfigured to: generate a group-based communication platformdocumentation authorization request command comprising the useridentification information and the selection of the selectablegroup-based communication platform API method name; transmit, toauthentication circuitry 224 in communication with the documentationresponse generation circuitry 214, the group-based communicationplatform documentation authorization request command; receive, from theauthentication circuitry 224, a group-based communication platformdocumentation authorization token indicating that the user hasauthorization to view the group-based communication platformdocumentation information associated with the selection of theselectable group-based communication platform API method name; and inresponse to receipt of the group-based communication platformdocumentation authorization token, generate the second documentationresponse message.

The app-less API call response generation circuitry 216 includeshardware components designed or configured to request, receive, process,generate, store, and transmit data, data structures, control signals,and electronic information for use in group-based communication. In someembodiments, the app-less API call response generation circuitry 216 maybe configured to receive, from the API circuitry 210, the command. Theapp-less API call response generation circuitry 216 may be furtherconfigured to generate an app-less API call based on the requested APImethod name and the set of requested call parameters. The app-less APIcall response generation circuitry 216 may be further configured totransmit, to the API circuitry 210, the app-less API call. The app-lessAPI call response generation circuitry 216 may be further configured toreceive from the API circuitry 210, a response to the app-less API call.The app-less API call response generation circuitry 216 may be furtherconfigured to generate an app-less API call response message based onthe command and the response to the app-less API call. The app-less APIcall response message may comprise a call definition payload thatdefines the command and the response to the app-less API call. The calldefinition payload that defines the command and the response to theapp-less API call may be a JSON call definition payload that defines thecommand and the response to the app-less API call. The JSON calldefinition payload may comprise: type data that defines the command;user identification data that defines the command; text data thatdefines the command; timestamp data that defines the command; type datathat defines the response to the app-less API call; API methodidentification data that defines the response to the app-less API call;text data that defines the response to the app-less API call; timestampdata that defines the response to the app-less API call; any othersuitable data, or any combination thereof. The app-less API callresponse generation circuitry 216 may be further configured to transmit,to the API circuitry, the app-less API call response message.

In some embodiments, the app-less API call response generation circuitry216 may be further configured to generate a set of call builderparameters based on the command. In such embodiments, the app-less APIcall response message may further comprise the set of call builderparameters.

In some embodiments, the command may comprise user identificationinformation for the user, and the app-less API call response generationcircuitry 216 may be further configured to: generate a group-basedcommunication platform app-less API call authorization request commandcomprising the user identification information and the response to theapp-less API call; transmit, to authentication circuitry 224 incommunication with the app-less API call response generation circuitry216, the group-based communication platform app-less API callauthorization request command; receive, from the authenticationcircuitry 224, a call authorization token indicating that the user hasauthorization to view the response to the app-less API call; and inresponse to receipt of the call authorization token, generate theapp-less API call response message.

The interface generation circuitry 218 includes hardware componentsdesigned or configured to request, receive, process, generate, store,and transmit data, data structures, control signals, and electronicinformation for use in group-based communication. In some embodiments,the interface generation circuitry 218 may be configured to generategroup-based communication platform interface data configured to bedisplayed by a display device. For example, the interface generationcircuitry 218 may be configured to generate group-based communicationplatform interface data (including, but not limited to, ephemeralmessages) and transmit the generated group-based communication platforminterface data to the input-output circuitry 206, and the input-outputcircuitry 206 may be configured to receive the group-based communicationplatform interface data and display the received group-basedcommunication platform interface data on one or more display screens. Insome embodiments, the interface generation circuitry 218 may includehardware components designed or configured to generate group-basedcommunication platform interface data based on any embodiment orcombination of embodiments described with reference to FIGS. 1-8.

In some embodiments, the interface generation circuitry 218 may beconfigured to receive, from the API circuitry 210, the inspect actionresponse message. The interface generation circuitry 218 may beconfigured to generate an ephemeral element definition message based onthe inspect action response message. The ephemeral element definitionmessage may be configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with theinterface element. For example, the ephemeral element definition messagemay configured to be displayed in the group-based communication platforminterface as an attachment to the interface element. The interfacegeneration circuitry 218 may be configured to transmit, to the clientdevice, the ephemeral element definition message.

In some embodiments, the interface generation circuitry 218 may befurther configured to receive, from the client device, a userinteraction event associated with the interface element. The userinteraction event may comprise a right click event associated with theinterface element; a mouse-over event associated with the interfaceelement; a touch screen event associated with the interface element; avoice command event associated with the interface element; any othersuitable user interaction; or any combination thereof. The interfacegeneration circuitry 218 may be further configured to, in response toreceipt of the user interaction event, generate a set of selectableactions comprising a selectable inspect action. The set of selectableactions may be configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with theinterface element. For example, the set of selectable actions may beconfigured to be displayed in a drop down menu box viewable in thegroup-based communication platform interface in association with theinterface element. The interface generation circuitry 218 may be furtherconfigured to transmit, to the client device, the set of selectableactions. The interface generation circuitry 218 may be furtherconfigured to receive, from the client device, electronic informationindicative of a selection of the selectable inspect action by the userusing the client device. The interface generation circuitry 218 may befurther configured to, in response to receipt of the electronicinformation indicative of the selection of the selectable inspect actionby the user using the client device, generate the inspect command. Theinterface generation circuitry 218 may be further configured totransmit, to the API circuitry 210, the inspect command.

In some embodiments, the interface generation circuitry 218 may befurther configured to generate a selectable message builder actionconfigured to be displayed (e.g., by the client device, a display devicein communication with the client device, or both) in the group-basedcommunication platform interface in association with the ephemeralelement definition message. The interface generation circuitry 218 maybe further configured to transmit, to the client device, the selectablemessage builder action. The interface generation circuitry 218 may befurther configured to receive, from the client device, electronicinformation indicative of a selection of the selectable message builderaction by the user using the client device. The interface generationcircuitry 218 may be further configured to, in response to receipt ofthe electronic information indicative of the selection of the selectablemessage builder action by the user using the client device, transmit, tomessage builder circuitry 220 in communication with the interfacegeneration circuitry 218, the element definition payload and the set ofmessage builder parameters.

In some embodiments, the interface generation circuitry 218 may befurther configured to receive, from the API circuitry, the documentationresponse message. The interface generation circuitry may be furtherconfigured to generate an ephemeral documentation message based on thedocumentation response message. The ephemeral documentation message maybe configured to be displayed (e.g., by the client device, a displaydevice in communication with the client device, or both) in thegroup-based communication platform interface in association with therequest for the group-based communication platform documentation. Forexample, the ephemeral documentation message may be configured to bedisplayed in the group-based communication platform interface as anattachment to the request for the group-based communication platformdocumentation. The interface generation circuitry 218 may be furtherconfigured to transmit, to the client device, the ephemeraldocumentation message.

In some embodiments, the documentation request command may be a firstdocumentation request command, the ephemeral documentation message maybe a first ephemeral documentation message, and the interface generationcircuitry 218 may be further configured to: generate a set of selectablegroup-based communication platform API method names based on the set ofsuggested group-based communication platform API method names, whereinthe set of selectable group-based communication platform API methodnames is configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with thedocumentation response message; transmit, to the client device, the setof selectable group-based communication platform API method names;receive, from the client device, electronic information indicative of aselection of a selectable group-based communication platform API methodname by the user using the client device; in response to receipt of theelectronic information indicative of the selection of the selectablegroup-based communication platform API method name by the user using theclient device, generate a second documentation request commandcomprising electronic information indicative of the selection of theselectable group-based communication platform API method name by theuser using the client device; and transmit, to the API circuitry 210,the second documentation request command. In some embodiments, the setof selectable group-based communication platform API method names may beconfigured to be displayed (e.g., by the client device, a display devicein communication with the client device, or both) in the group-basedcommunication platform interface as an attachment to the ephemeraldocumentation message. For example, the set of selectable group-basedcommunication platform API method names may be configured to bedisplayed in a drop down menu box viewable in the group-basedcommunication platform interface in association with the ephemeraldocumentation message.

In some embodiments, the interface generation circuitry 218 may befurther configured to: receive, from the API circuitry 210, the seconddocumentation response message; generate a second ephemeraldocumentation message based on the second documentation responsemessage, wherein the ephemeral documentation message is configured to bedisplayed (e.g., by the client device, a display device in communicationwith the client device, or both) in the group-based communicationplatform interface in association with the second documentation requestcommand; and transmit, to the client device, the second ephemeraldocumentation message.

In some embodiments, the interface generation circuitry 218 may befurther configured to, in response to receipt of the electronicinformation indicative of the selection of the selectable group-basedcommunication platform API method name by the user using the clientdevice, generate a group-based communication platform interface overlaycomprising a set of selectable group-based communication platform APImethod name confirmation icons. The set of selectable group-basedcommunication platform API method name confirmation icons may comprise aselectable affirmative group-based communication platform API methodname confirmation icon and a selectable negative group-basedcommunication platform API method name confirmation icon. Thegroup-based communication platform interface overlay may be configuredto be displayed (e.g., by the client device, a display device incommunication with the client device, or both) in the group-basedcommunication platform interface as a display screen overlay. Theinterface generation circuitry 218 may be further configured totransmit, to the client device, the group-based communication platforminterface overlay. The interface generation circuitry 218 may be furtherconfigured to receive, from the client device, electronic informationindicative of a selection of the selectable affirmative group-basedcommunication platform API method name confirmation icon by the userusing the client device. The interface generation circuitry 218 may befurther configured to, in response to receipt of the electronicinformation indicative of a selection of the selectable affirmativegroup-based communication platform API method name confirmation icon bythe user using the client device, generate the second documentationrequest command. The interface generation circuitry 218 may be furtherconfigured to transmit, to the API circuitry 210, the seconddocumentation request command.

In some embodiments, the interface generation circuitry 218 may befurther configured to: receive, from the client device, the request forthe group-based communication platform documentation, wherein therequest comprises a command (e.g., a slash command, a documentationcommand, or both) and the requested API method name; in response toreceipt of the request, generate the documentation request command basedon the command and the requested API method name; and transmit, to theAPI circuitry 210, the documentation request command.

In some embodiments, the interface generation circuitry 218 may befurther configured to receive, from the API circuitry 210, the app-lessAPI call response message. The interface generation circuitry 218 may befurther configured to generate an ephemeral command response messagebased on the app-less API call response message, wherein the ephemeralcommand response message is configured to be displayed (e.g., by theclient device, a display device in communication with the client device,or both) in the group-based communication platform interface inassociation with the request to perform the app-less API call. Forexample, the ephemeral command response message may be configured to bedisplayed in the group-based communication platform interface as anattachment to the request to perform the app-less API call. Theinterface generation circuitry 218 may be further configured totransmit, to the client device, the ephemeral command response message.

In some embodiments, the interface generation circuitry 218 may befurther configured to: generate a selectable call builder actionconfigured to be displayed (e.g., by the client device, a display devicein communication with the client device, or both) in the group-basedcommunication platform interface in association with the app-less APIcall response message; transmit, to the client device, the selectablecall builder action; receive, from the client device, electronicinformation indicative of a selection of the selectable call builderaction by the user using the client device; and in response to receiptof the electronic information indicative of the selection of theselectable call builder action by the user using the client device,transmit, to call builder circuitry 222 in communication with theinterface generation circuitry 218, the app-less API call responsemessage and the set of call builder parameters.

The message builder circuitry 220 includes hardware components designedor configured to request, receive, process, generate, store, andtransmit data, data structures, control signals, and electronicinformation for use in group-based communication. In some embodiments,the message builder circuitry 220 may be configured to receive, from theinterface generation circuitry 218, the element definition payload andthe set of message builder parameters. The message builder circuitry 220may be further configured to generate an editable JSON elementdefinition payload based on the element definition payload and the setof message builder parameters. The message builder circuitry 220 may befurther configured to generate a preview message based on the editableJSON element definition payload. The message builder circuitry 220 maybe further configured to generate a message builder interface comprisingthe editable JSON element definition payload and the preview message.The message builder circuitry 220 may be further configured to transmit,to a client device (e.g., client device 112), the message builderinterface. The message builder interface may be configured to bedisplayed by the client device or by a display device in communicationwith the client device.

The call builder circuitry 222 includes hardware components designed orconfigured to request, receive, process, generate, store, and transmitdata, data structures, control signals, and electronic information foruse in group-based communication. In some embodiments, the call buildercircuitry 222 may be configured to receive, from the interfacegeneration circuitry 218, the app-less API call response message and theset of call builder parameters. The call builder circuitry 222 may befurther configured to generate an editable JSON call definition payloadbased on the app-less API call response message and the set of callbuilder parameters. The call builder circuitry 222 may be furtherconfigured to generate a call builder interface comprising the editableJSON call definition payload. The call builder circuitry 222 may befurther configured to transmit, to the client device (e.g., clientdevice 112), the call builder interface. The call builder interface maybe configured to be displayed by the client device or a display devicein communication with the client device.

The authentication circuitry 224 includes hardware components designedor configured to request, receive, process, generate, store, andtransmit data, data structures, control signals, and electronicinformation for use in group-based communication. In some embodiments,the authentication circuitry 224 may be configured to receive, from thedocumentation response generation circuitry 214, the group-basedcommunication platform documentation authorization request commandcomprising the user identification information and the group-basedcommunication platform documentation API method name; generate agroup-based communication platform documentation authorization tokenindicating that the user has authorization to view the group-basedcommunication platform documentation information associated with thegroup-based communication platform documentation API method name; andtransmit, to the documentation response generation circuitry 214, thegroup-based communication platform documentation authorization token.

In some embodiments, the authentication circuitry 224 may be configuredto receive, from the app-less API call response generation circuitry216, the group-based communication platform app-less API callauthorization request command comprising the user identificationinformation and the response to the app-less API call; generate a callauthorization token indicating that the user has authorization to viewthe response to the app-less API call; transmit, to the app-less APIcall response generation circuitry 216, the call authorization token.

The NLP circuitry 226 includes hardware components designed orconfigured to request, receive, process, generate, store, and transmitdata, data structures, control signals, and electronic information foruse in group-based communication. In some embodiments, the NLP circuitry226 may be configured to receive, from the documentation responsegeneration circuitry 214, the string similarity request. The NLPcircuitry 226 may be further configured to generate a set of semanticsimilarity scores, wherein each semantic similarity score in the set ofsemantic similarity scores is a quantitative value indicative of anamount of semantic similarity between the requested API method name andone of the group-based communication platform documentation API methodnames in the set of group-based communication platform documentation APImethod names. The NLP circuitry 226 may be further configured togenerate the set of suggested group-based communication platform APImethod names based on the set of semantic similarity scores. The NLPcircuitry 226 may be further configured to transmit, to thedocumentation response generation circuitry 214, the set of suggestedgroup-based communication platform API method names.

It should also be appreciated that, in some embodiments, each of the APIcircuitry 210, inspect action response generation circuitry 212,documentation response generation circuitry 214, app-less API callresponse generation circuitry 216, interface generation circuitry 218,message builder circuitry 220, call builder circuitry 222,authentication circuitry 224, and NLP circuitry 226 may include aseparate processor, specially configured field programmable gate array(FPGA), application specific interface circuit (ASIC), or cloud utilityto perform the above functions.

In some embodiments, the hardware components described above withreference to API circuitry 210, inspect action response generationcircuitry 212, documentation response generation circuitry 214, app-lessAPI call response generation circuitry 216, interface generationcircuitry 218, message builder circuitry 220, call builder circuitry222, authentication circuitry 224, and NLP circuitry 226, may, forinstance, utilize communications circuitry 208 or any suitable wired orwireless communications path to communicate with a server device (e.g.,one or more of server devices 110A-110N), a client device (e.g., one ormore of client devices 112A-112N), an API specification server (e.g.,one or more of API specification servers 114), a documentation server(e.g., one or more of other documentation servers 116), processingcircuitry 202, memory 204, input-output circuitry 206, communicationscircuitry 208 (e.g., the communications circuitry 208 of a secondapparatus implementing one or more portions of apparatus 200), eachother, or any other suitable circuitry or device.

In some embodiments, one or more of the API circuitry 210, inspectaction response generation circuitry 212, documentation responsegeneration circuitry 214, app-less API call response generationcircuitry 216, interface generation circuitry 218, message buildercircuitry 220, call builder circuitry 222, authentication circuitry 224,and NLP circuitry 226 may be hosted locally by the apparatus 200. Insome embodiments, one or more of the API circuitry 210, inspect actionresponse generation circuitry 212, documentation response generationcircuitry 214, app-less API call response generation circuitry 216,interface generation circuitry 218, message builder circuitry 220, callbuilder circuitry 222, authentication circuitry 224, and NLP circuitry226 may be hosted remotely (e.g., by one or more cloud servers) and thusneed not physically reside on the apparatus 200. Thus, some or all ofthe functionality described herein may be provided by a third partycircuitry. For example, the apparatus 200 may access one or more thirdparty circuitries via any sort of networked connection that facilitatestransmission of data and electronic information between the apparatus200 and the third party circuitries. In turn, the apparatus 200 may bein remote communication with one or more of the API circuitry 210,inspect action response generation circuitry 212, documentation responsegeneration circuitry 214, app-less API call response generationcircuitry 216, interface generation circuitry 218, message buildercircuitry 220, call builder circuitry 222, authentication circuitry 224,and NLP circuitry 226.

As described above and as will be appreciated based on this disclosure,embodiments of the present disclosure may be configured as systems,apparatuses, methods, mobile devices, backend network devices, computerprogram products, other suitable devices, and combinations thereof.Accordingly, embodiments may comprise various means including entirelyof hardware or any combination of software with hardware. Furthermore,embodiments may take the form of a computer program product on at leastone non-transitory computer-readable storage medium havingcomputer-executable program code instructions (e.g., computer software)embodied in the storage medium. Any suitable computer-readable storagemedium may be utilized including non-transitory hard disks, CD-ROMs,flash memory, optical storage devices, or magnetic storage devices. Aswill be appreciated, any computer-executable program code instructionsand/or other type of code described herein may be loaded onto acomputer, processor or other programmable apparatus's circuitry toproduce a machine, such that the computer, processor, or otherprogrammable circuitry that executes the code on the machine creates themeans for implementing various functions, including those describedherein.

The one or more server devices 110A-110N, one or more client devices112A-112N, one or more API specification servers 114, and one or moreother documentation servers 116 may be embodied by one or more computingdevices or systems that also may include processing circuitry, memory,input-output circuitry, and communications circuitry. For example, aserver device 110 may be a database server on which computer code (e.g.,C, C++, C#, java, a structured query language (SQL), a data querylanguage (DQL), a data definition language (DDL), a data controllanguage (DCL), a data manipulation language (DML)) is running orotherwise being executed by processing circuitry. In another example, aclient device 112 may be a smartphone on which an app (e.g., a mobilegroup-based communication platform app) is running or otherwise beingexecuted by processing circuitry. As it relates to operations describedin the present disclosure, the functioning of these devices may utilizecomponents similar to the similarly named components described abovewith respect to FIG. 2. Additional description of the mechanics of thesecomponents is omitted for the sake of brevity. These device elements,operating together, provide the respective computing systems with thefunctionality necessary to facilitate the communication of data with thegroup-based communication system described herein.

FIGS. 3A, 3B, and 3C illustrate example data structures 300, 320, and340 for inspecting an interface element viewable in a group-basedcommunication platform interface in accordance with some exampleembodiments described herein. As shown in FIG. 3A, the example datastructures 300 comprise an example group-based communication platforminterface 302. The example group-based communication platform interface302 comprises an interface element 304 (e.g., a message) and aselectable menu icon 306 displayed in association with the interfaceelement 304. The example group-based communication platform interface302 further comprises an ephemeral element definition message 308comprising an element definition payload 310 (e.g., the raw JSON datafrom interface element 304). The example group-based communicationplatform interface 302 further comprises a selectable message builderaction 312 displayed in association with the ephemeral elementdefinition message 308. As illustrated in the example embodiment shownin FIG. 3A, the ephemeral element definition message 308 may configuredto be displayed in the example group-based communication platforminterface 302 as an attachment to the interface element 304.

As shown in FIG. 3B, the example data structures 320 comprise a dropdown menu box 322 that is displayed in the group-based communicationplatform interface in association with the interface element 304 inresponse to a user performing a user interaction event on selectablemenu icon 306. The drop down menu box 322 comprises a set of selectableactions, such as “Follow message,” “Copy link,” “Mark unread,” “Remindme about this,” “Pin too this conversation . . . ,” “Edit message,”“Delete message,” “Inspect,” and “More message actions . . . .” The setof selectable actions comprises a selectable inspect action 324 (e.g.,“Inspect”). Selection of the selectable inspect action 324 by a userusing a client device may cause the client device to generate andtransmit electronic information indicative of a selection of theselectable inspect action 324 by the user using the client device. Inone illustrative example, a user using a client device may hover over aninterface element (e.g., interface element 304), click the “[ . . . ]”(e.g., selectable menu icon 306), and select “Inspect” (e.g., selectableinspect action 324) to view how that particular interface element wasbuilt (e.g., to view ephemeral element definition message 308).

As shown in FIG. 3C, the example data structures 340 comprise a messagebuilder interface 342. In some embodiments, selection of selectablemessage builder action 312 by a user using a client device may result inthe generation and display, by the group-based communication platform,of a message builder interface 342 comprising an editable JSON elementdefinition payload 344 and a preview message 346. In one illustrativeexample, a user using a client device may click “View in MessageBuilder” (e.g., selectable message builder action 312) to edit aninterface element (e.g., interface element 304) and view a preview(e.g., preview message 346) of the edited interface element (e.g., anedited version of editable JSON element definition payload 344).

FIG. 4 illustrates example data structures 400 for electronicallyretrieving documentation in the group-based communication platforminterface in accordance with some example embodiments described herein.As shown in FIG. 4, the example data structures 400 comprise an examplegroup-based communication platform interface 402. The examplegroup-based communication platform interface 402 comprises a request 404for group-based communication platform documentation. The request 404(e.g., “/sdt docs api.test”) may comprise a command 406 (e.g., the slashcommand “/sdt” and the documentation command “docs”) and a requested APImethod name 408 (e.g., “api.test”). The example group-basedcommunication platform interface 402 further comprises ephemeraldocumentation message 410. In one illustrative example, the requestedAPI method name 408 (e.g., “api.test”) may be identical to a group-basedcommunication platform API method name (e.g., “api.test”) in a set ofgroup-based communication platform API method names included in agroup-based communication platform API specification, and the ephemeraldocumentation message 410 may comprise group-based communicationplatform documentation information 412 associated with the group-basedcommunication platform documentation API method name. In someembodiments, the group-based communication platform documentationinformation 412 may be a portion or subset of the group-basedcommunication platform documentation information associated with thegroup-based communication platform documentation API method namecomprised by the group-based communication platform API specification.For example, the group-based communication platform documentationinformation 412 may be an “API Quick Reference documentation” portion orsubset of the group-based communication platform documentationinformation associated with the group-based communication platformdocumentation API method name. In some embodiments, the group-basedcommunication platform documentation information 412 may furthercomprise a selectable documentation icon 414 (e.g., “Read full docs”)comprising a link to the entire group-based communication platformdocumentation information associated with the group-based communicationplatform API method name.

FIG. 5 illustrates example data structures 500 for providing app-lessrendering in a group-based communication platform interface inaccordance with some example embodiments described herein. As shown inFIG. 5, the example data structures 500 comprise an example group-basedcommunication platform interface 502. The example group-basedcommunication platform interface 502 comprises a command 504 indicativeof a request to perform an app-less API call in the group-basedcommunication platform. The command 504 (e.g., “/sdt call api.test”) maycomprise electronic information indicative of a requested API methodname 506 (e.g., the requested API method name “call”) and a set ofrequested call parameters 508 (e.g., “api.test”). The examplegroup-based communication platform interface 502 further comprisesephemeral command response message 510. The ephemeral command responsemessage 510 may comprise an app-less API call response message 512 and,attached to the app-less API call response message 512, a response 514to an app-less API call 516 generated based on the requested API methodname 506 and the set of requested call parameters 508.

Having described specific components of example devices involved in thepresent disclosure, example procedures for providing improvedfunctionality in a group-based communication platform interface aredescribed below in connection with FIGS. 6-8.

Example Operations for Group-Based Communication

FIG. 6 illustrates an example flowchart 600 that contains exampleoperations for providing for inspecting an interface element viewable ina group-based communication platform interface in accordance with someexample embodiments described herein. The operations illustrated in FIG.6 may, for example, be performed by one or more components describedwith reference to group-based communication system 102 shown in FIG. 1;by a server device 110, a client device 112, an API specification server114, or a documentation server 116 in communication with group-basedcommunication system 102; by apparatus 200 shown in FIG. 2; or by anycombination thereof. In some embodiments, the various operationsdescribed in connection with FIG. 6 may be performed by the apparatus200 by or through the use of one or more of processing circuitry 202,memory 204, input-output circuitry 206, communications circuitry 208,API circuitry 210, inspect action response generation circuitry 212,documentation response generation circuitry 214, app-less API callresponse generation circuitry 216, interface generation circuitry 218,message builder circuitry 220, call builder circuitry 222,authentication circuitry 224, and NLP circuitry 226, any other suitablecircuitry, and any combination thereof.

As shown by operation 602, the apparatus 200 includes means, such as APIcircuitry 210 or the like, for receiving an inspect command indicativeof a request to perform an inspect action on the interface elementviewable in the group-based communication platform interface. In someembodiments, the API circuitry 210 may receive the inspect command frominterface generation circuitry (e.g., interface generation circuitry218) in communication with the API circuitry and a client device (e.g.,client device 112). In some embodiments, the request to perform theinspect action may have been provided by a user using the client device.In some embodiments, the apparatus 200 may receive the inspect commandas described in more detail with reference to FIGS. 1-5.

As shown by operation 604, the apparatus 200 includes means, such asinspect action response generation circuitry 212 or the like, forgenerating an element definition payload based on the inspect command.In some embodiments, the apparatus 200 may generate the elementdefinition payload in response to receipt of the inspect command. Insome embodiments, the apparatus 200 may generate the element definitionpayload as described in more detail with reference to FIGS. 1-5.

As shown by operation 606, the apparatus 200 includes means, such asinspect action response generation circuitry 212 or the like, forgenerating an inspect action response message comprising the elementdefinition payload. In some embodiments, the apparatus 200 may generatethe inspect action response message as described in more detail withreference to FIGS. 1-5.

As shown by operation 608, the apparatus 200 includes means, such asinterface generation circuitry 218 or the like, for generating anephemeral element definition message based on the inspect actionresponse message. In some embodiments, the ephemeral element definitionmessage may be configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with theinterface element. In some embodiments, the apparatus 200 may generatethe ephemeral element definition message as described in more detailwith reference to FIGS. 1-5.

As shown by operation 610, the apparatus 200 includes means, such asinterface generation circuitry 218 or the like, for transmitting, to theclient device, the ephemeral element definition message. In someembodiments, the apparatus 200 may transmit the ephemeral elementdefinition message as described in more detail with reference to FIGS.1-5.

In some embodiments, operations 602, 604, 606, 608, and 610 may notnecessarily occur in the order depicted in FIG. 6, and in some cases oneor more of the operations depicted in FIG. 6 may occur substantiallysimultaneously, or additional steps may be involved before, after, orbetween any of the operations shown in FIG. 6.

FIG. 7 illustrates an example flowchart 700 that contains exampleoperations for electronically retrieving documentation in thegroup-based communication platform interface in accordance with someexample embodiments described herein. The operations illustrated in FIG.7 may, for example, be performed by one or more components describedwith reference to group-based communication system 102 shown in FIG. 1;by a server device 110, a client device 112, an API specification server114, or a documentation server 116 in communication with group-basedcommunication system 102; by apparatus 200 shown in FIG. 2; or by anycombination thereof. In some embodiments, the various operationsdescribed in connection with FIG. 7 may be performed by the apparatus200 by or through the use of one or more of processing circuitry 202,memory 204, input-output circuitry 206, communications circuitry 208,API circuitry 210, inspect action response generation circuitry 212,documentation response generation circuitry 214, app-less API callresponse generation circuitry 216, interface generation circuitry 218,message builder circuitry 220, call builder circuitry 222,authentication circuitry 224, and NLP circuitry 226, any other suitablecircuitry, and any combination thereof.

As shown by operation 702, the apparatus 200 includes means, such as APIcircuitry 210 or the like, for receiving a documentation request commandindicative of a request for group-based communication platformdocumentation. In some embodiments, the API circuitry 210 may receivethe documentation request command from interface generation circuitry(e.g., interface generation circuitry 218) in communication with the APIcircuitry and a client device (e.g., client device 112). In someembodiments, the request for the group-based communication platformdocumentation may have been provided by a user using the client device.In some embodiments, the documentation request command may compriseelectronic information indicative of a requested API method name. Insome embodiments, the apparatus 200 may receive the documentationrequest command as described in more detail with reference to FIGS. 1-5.

As shown by operation 704, the apparatus 200 includes means, such asdocumentation response generation circuitry 214 or the like, forretrieving a group-based communication platform API specificationcomprising a set of group-based communication platform documentationinformation associated with a set of group-based communication platformdocumentation API method names. In some embodiments, the apparatus 200may retrieve the group-based communication platform API specification inresponse to receiving the documentation request command. In someembodiments, the apparatus 200 may retrieve the group-basedcommunication platform API specification from an API specificationserver (e.g., API specification server 114). In some embodiments, theapparatus 200 may retrieve the group-based communication platform APIspecification as described in more detail with reference to FIGS. 1-5.

As shown by operation 706, the apparatus 200 includes means, such asdocumentation response generation circuitry 214 or the like, forgenerating a determination indicative of whether the requested APImethod name corresponds to any group-based communication platformdocumentation API method name in the set of group-based communicationplatform documentation API method names. In some embodiments, theapparatus 200 may generate the determination as described in more detailwith reference to FIGS. 1-5.

As shown by operation 708, the apparatus 200 includes means, such asdocumentation response generation circuitry 214 or the like, forgenerating a documentation response message based on the determination.In some embodiments, the apparatus 200 may generate the documentationresponse message as described in more detail with reference to FIGS.1-5.

As shown by operation 710, the apparatus 200 includes means, such asinterface generation circuitry 218 or the like, for generating anephemeral documentation message based on the documentation responsemessage. In some embodiments, the ephemeral documentation message may beconfigured to be displayed (e.g., by the client device, a display devicein communication with the client device, or both) in the group-basedcommunication platform interface in association with the request for thegroup-based communication platform documentation. In some embodiments,the apparatus 200 may generate the ephemeral documentation message asdescribed in more detail with reference to FIGS. 1-5.

As shown by operation 712, the apparatus 200 includes means, such asinterface generation circuitry 218 or the like, for transmitting theephemeral documentation message to the client device. In someembodiments, the apparatus 200 may transmit the ephemeral documentationmessage as described in more detail with reference to FIGS. 1-5.

In some embodiments, operations 702, 704, 706, 708, 710, and 712 may notnecessarily occur in the order depicted in FIG. 7, and in some cases oneor more of the operations depicted in FIG. 7 may occur substantiallysimultaneously, or additional steps may be involved before, after, orbetween any of the operations shown in FIG. 7.

FIG. 8 illustrates an example flowchart 800 that contains exampleoperations for providing app-less rendering in a group-basedcommunication platform interface in accordance with some exampleembodiments described herein. The operations illustrated in FIG. 8 may,for example, be performed by one or more components described withreference to group-based communication system 102 shown in FIG. 1; by aserver device 110, a client device 112, an API specification server 114,or a documentation server 116 in communication with group-basedcommunication system 102; by apparatus 200 shown in FIG. 2; or by anycombination thereof. In some embodiments, the various operationsdescribed in connection with FIG. 8 may be performed by the apparatus200 by or through the use of one or more of processing circuitry 202,memory 204, input-output circuitry 206, communications circuitry 208,API circuitry 210, inspect action response generation circuitry 212,documentation response generation circuitry 214, app-less API callresponse generation circuitry 216, interface generation circuitry 218,message builder circuitry 220, call builder circuitry 222,authentication circuitry 224, and NLP circuitry 226, any other suitablecircuitry, and any combination thereof.

As shown by operation 802, the apparatus 200 includes means, such as APIcircuitry 210 or the like, for receiving a command indicative of arequest to perform an app-less API call in the group-based communicationplatform. In some embodiments, the API circuitry 210 may receive thecommand from interface generation circuitry (e.g., interface generationcircuitry 218) in communication with the API circuitry 210 and a clientdevice (e.g., client device 112). In some embodiments, the request toperform the app-less API call may have been provided by a user using theclient device. In some embodiments, the command comprises electronicinformation indicative of a requested API method name and a set ofrequested call parameters. In some embodiments, the apparatus 200 mayreceive the command as described in more detail with reference to FIGS.1-5.

As shown by operation 804, the apparatus 200 includes means, such asapp-less API call response generation circuitry 216 or the like, forgenerating an app-less API call based on the requested API method nameand the set of requested call parameters. In some embodiments, theapparatus 200 may generate the app-less API call as described in moredetail with reference to FIGS. 1-5.

As shown by operation 806, the apparatus 200 includes means, such as APIcircuitry 210 or the like, for generating a response to the app-less APIcall. In some embodiments, the apparatus 200 may generate the responseto the app-less API call as described in more detail with reference toFIGS. 1-5.

As shown by operation 808, the apparatus 200 includes means, such asapp-less API call response generation circuitry 216 or the like, forgenerating an app-less API call response message based on the commandand the response to the app-less API call. In some embodiments, theapparatus 200 may generate the app-less API call response message asdescribed in more detail with reference to FIGS. 1-5.

As shown by operation 810, the apparatus 200 includes means, such asinterface generation circuitry 218 or the like, for generating anephemeral command response message based on the app-less API callresponse message. In some embodiments, the ephemeral command responsemessage is configured to be displayed (e.g., by the client device, adisplay device in communication with the client device, or both) in thegroup-based communication platform interface in association with therequest to perform the app-less API call. In some embodiments, theapparatus 200 may generate the ephemeral command response message asdescribed in more detail with reference to FIGS. 1-5.

As shown by operation 812, the apparatus 200 includes means, such asinterface generation circuitry 218 or the like, for transmitting theephemeral command response message to the client device. In someembodiments, the apparatus 200 may transmit the ephemeral commandresponse message as described in more detail with reference to FIGS.1-5.

In some embodiments, operations 802, 804, 806, 808, 810, and 812 may notnecessarily occur in the order depicted in FIG. 8, and in some cases oneor more of the operations depicted in FIG. 8 may occur substantiallysimultaneously, or additional steps may be involved before, after, orbetween any of the operations shown in FIG. 8.

As noted above, methods, apparatuses, systems, and computer programproducts are described herein that provide improved functionality in agroup-based communication platform interface. By doing so, users ofclient devices are able to avoid the traditional problems surroundinggroup-based communication. For instance, through performance of theabove operations, a user can avoid multiple interactions with the clientdevice to inspect interface elements, retrieve documentation, and rendercalls in the group-based communication platform interface. Further, thegroup-based communication system may provide these functionalities in afaster, cheaper, and less resource and data intensive manner.Accordingly, example embodiments described herein facilitate andstreamline the process of group-based communication so that the user maymore quickly and easily interact with the group-based communicationsystem.

FIGS. 6-8 thus illustrate flowcharts describing the operation of varioussystems (e.g., group-based communication system 102 described withreference to FIG. 1), apparatuses (e.g., apparatus 200 described withreference to FIG. 2), computer-implemented methods, and computer programproducts according to example embodiments contemplated herein. It willbe understood that each operation of the flowcharts, and combinations ofoperations in the flowcharts, may be implemented by various means, suchas hardware, firmware, processor, circuitry, and/or other devicesassociated with execution of software including one or more computerprogram instructions. For example, one or more of the proceduresdescribed above may be performed by execution of computer programinstructions. In this regard, the computer program instructions that,when executed, cause performance of the procedures described above maybe stored by a memory (e.g., memory 204) of an apparatus (e.g.,apparatus 200) and executed by a processor (e.g., processing circuitry202) of the apparatus. As will be appreciated, any such computer programinstructions may be loaded onto a computer or other programmableapparatus (e.g., hardware) to produce a machine, such that the resultingcomputer or other programmable apparatus implements the functionsspecified in the flowchart operations. These computer programinstructions may also be stored in a computer-readable memory that maydirect a computer or other programmable apparatus to function in aparticular manner, such that the instructions stored in thecomputer-readable memory produce an article of manufacture, theexecution of which implements the functions specified in the flowchartoperations. The computer program instructions may also be loaded onto acomputer or other programmable apparatus to cause a series of operationsto be performed on the computer or other programmable apparatus toproduce a computer-implemented process such that the instructionsexecuted on the computer or other programmable apparatus provideoperations for implementing the functions specified in the flowchartoperations.

The flowchart operations described with reference to FIGS. 6-8 supportcombinations of means for performing the specified functions andcombinations of operations for performing the specified functions. Itwill be understood that one or more operations of the flowcharts, andcombinations of operations in the flowcharts, may be implemented byspecial purpose hardware-based computer systems which perform thespecified functions, or combinations of special purpose hardware andcomputer instructions.

CONCLUSION

While various embodiments in accordance with the principles disclosedherein have been shown and described above, modifications thereof may bemade by one skilled in the art without departing from the teachings ofthe disclosure. The embodiments described herein are representative onlyand are not intended to be limiting. Many variations, combinations, andmodifications are possible and are within the scope of the disclosure.Alternative embodiments that result from combining, integrating, and/oromitting features of the embodiment(s) are also within the scope of thedisclosure. Accordingly, the scope of protection is not limited by thedescription set out above, but is defined by the claims which follow,that scope including all equivalents of the subject matter of theclaims. Each and every claim is incorporated as further disclosure intothe specification and the claims are embodiment(s) of the presentdisclosure. Furthermore, any advantages and features described above mayrelate to specific embodiments, but shall not limit the application ofsuch issued claims to processes and structures accomplishing any or allof the above advantages or having any or all of the above features.

In addition, the section headings used herein are provided forconsistency with the suggestions under 37 C.F.R. § 1.77 or to otherwiseprovide organizational cues. These headings shall not limit orcharacterize the disclosure set out in any claims that may issue fromthis disclosure. For instance, a description of a technology in the“Background” is not to be construed as an admission that certaintechnology is prior art to any disclosure in this disclosure. Neither isthe “Summary” to be considered as a limiting characterization of thedisclosure set forth in issued claims. Furthermore, any reference inthis disclosure to “disclosure” or “embodiment” in the singular shouldnot be used to argue that there is only a single point of novelty inthis disclosure. Multiple embodiments of the present disclosure may beset forth according to the limitations of the multiple claims issuingfrom this disclosure, and such claims accordingly define the disclosure,and their equivalents, that are protected thereby. In all instances, thescope of the claims shall be considered on their own merits in light ofthis disclosure, but should not be constrained by the headings set forthherein.

Also, techniques, systems, subsystems, and methods described andillustrated in the various embodiments as discrete or separate may becombined or integrated with other systems, modules, techniques, ormethods without departing from the scope of the present disclosure.Other devices or components shown or discussed as coupled to, or incommunication with, each other may be indirectly coupled through someintermediate device or component, whether electrically, mechanically, orotherwise. Other examples of changes, substitutions, and alterations areascertainable by one skilled in the art and could be made withoutdeparting from the scope disclosed herein.

Many modifications and other embodiments of the disclosure set forthherein will come to mind to one skilled in the art to which theseembodiments pertain having the benefit of teachings presented in theforegoing descriptions and the associated drawings. Although thedrawings only show certain components of the apparatus and systemsdescribed herein, it is understood that various other components may beused in conjunction with the group-based communication system.Therefore, it is to be understood that the disclosure is not to belimited to the specific embodiments disclosed and that modifications andother embodiments are intended to be included within the scope of theappended claims. For example, the various elements or components may becombined, rearranged, or integrated in another system or certainfeatures may be omitted or not implemented. Moreover, the steps in anymethod described above may not necessarily occur in the order depictedin the accompanying drawings, and in some cases one or more of the stepsdepicted may occur substantially simultaneously, or additional steps maybe involved. Although specific terms are employed herein, they are usedin a generic and descriptive sense only and not for purposes oflimitation.

What is claimed is:
 1. A computing system for electronically retrievingdocumentation in a group-based communication platform interface, whereinthe computing system comprises: application programming interface (API)circuitry in communication with interface generation circuitry anddocumentation response generation circuitry, wherein the interfacegeneration circuitry is configured to: receive, from a client device, arequest for group-based communication platform documentation, whereinthe request comprises a command and a requested API method name; inresponse to receipt of the request, generate a documentation requestcommand based on the command and the requested API method name; andtransmit, to the API circuitry, the documentation request command; andwherein the API circuitry is configured to receive, from the interfacegeneration circuitry, the documentation request command indicative ofthe request for the group-based communication platform documentation,wherein the request was provided by a user using the client device, andwherein the documentation request command comprises electronicinformation indicative of the requested API method name, transmit, tothe documentation response generation circuitry, the documentationrequest command, receive, from the documentation response generationcircuitry, a documentation response message, and transmit, to theinterface generation circuitry, the documentation response message; thedocumentation response generation circuitry, wherein the documentationresponse generation circuitry is configured to receive, from the APIcircuitry, the documentation request command, in response to receipt ofthe documentation request command, retrieve, from an API specificationserver, a group-based communication platform API specificationcomprising a set of group-based communication platform documentationinformation associated with a set of group-based communication platformdocumentation API method names, generate a determination indicative ofwhether the requested API method name corresponds to any group-basedcommunication platform documentation API method name in the set ofgroup-based communication platform documentation API method names,generate the documentation response message based on the determination,and transmit, to the API circuitry, the documentation response message;and the interface generation circuitry, wherein the interface generationcircuitry is in communication with the client device, and wherein theinterface generation circuitry is configured to receive, from the APIcircuitry, the documentation response message, generate an ephemeraldocumentation message based on the documentation response message,wherein the ephemeral documentation message is configured to bedisplayed, by a display device in communication with the client device,in the group-based communication platform interface as an attachment tothe request for the group-based communication platform documentation,and transmit, to the client device, the ephemeral documentation message.2. The computing system of claim 1, wherein the requested API methodname is identical to a group-based communication platform API methodname in the set of group-based communication platform API method names,wherein the determination indicates that the requested API method namecorresponds to the group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names, and wherein the documentation responsemessage comprises the group-based communication platform documentationinformation associated with the group-based communication platformdocumentation API method name.
 3. The computing system of claim 2,wherein the documentation request command comprises user identificationinformation for the user, and wherein the documentation responsegeneration circuitry is further configured to: generate a group-basedcommunication platform documentation authorization request commandcomprising the user identification information and the group-basedcommunication platform documentation API method name; transmit, toauthentication circuitry in communication with the documentationresponse generation circuitry, the group-based communication platformdocumentation authorization request command; receive, from theauthentication circuitry, a group-based communication platformdocumentation authorization token indicating that the user hasauthorization to view the group-based communication platformdocumentation information associated with the group-based communicationplatform documentation API method name; and in response to receipt ofthe group-based communication platform documentation authorizationtoken, generate the documentation response message.
 4. The computingsystem of claim 1, wherein the requested API method name is notidentical to any group-based communication platform API method name inthe set of group-based communication platform API method names, whereinthe determination indicates that the requested API method name does notcorrespond to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names, and wherein the documentation responsegeneration circuitry is further configured to: transmit, to naturallanguage processing (NLP) circuitry in communication with thedocumentation response generation circuitry, a string similarity requestcomprising the requested API method name and the group-basedcommunication platform API specification; and receive, from the NLPcircuitry, a set of suggested group-based communication platform APImethod names, wherein the documentation response message comprises theset of suggested group-based communication platform API method names. 5.The computing system of claim 4, wherein the computing system furthercomprises the NLP circuitry, and wherein the NLP circuitry is configuredto: receive, from the documentation response generation circuitry, thestring similarity request; generate a set of semantic similarity scores,wherein each semantic similarity score in the set of semantic similarityscores is a quantitative value indicative of an amount of semanticsimilarity between the requested API method name and one of thegroup-based communication platform documentation API method names in theset of group-based communication platform documentation API methodnames; generate the set of suggested group-based communication platformAPI method names based on the set of semantic similarity scores; andtransmit, to the documentation response generation circuitry, the set ofsuggested group-based communication platform API method names.
 6. Thecomputing system of claim 4, wherein the documentation request commandis a first documentation request command, wherein the ephemeraldocumentation message is a first ephemeral documentation message, andwherein the interface generation circuitry is further configured to:generate a set of selectable group-based communication platform APImethod names based on the set of suggested group-based communicationplatform API method names, wherein the set of selectable group-basedcommunication platform API method names is configured to be displayed,by the display device, in the group-based communication platforminterface in association with the documentation response message;transmit, to the client device, the set of selectable group-basedcommunication platform API method names; receive, from the clientdevice, electronic information indicative of a selection of a selectablegroup-based communication platform API method name by the user using theclient device; in response to receipt of the electronic informationindicative of the selection of the selectable group-based communicationplatform API method name by the user using the client device, generate asecond documentation request command comprising electronic informationindicative of the selection of the selectable group-based communicationplatform API method name by the user using the client device; andtransmit, to the API circuitry, the second documentation requestcommand.
 7. The computing system of claim 6, wherein the documentationresponse message is a first documentation response message, wherein theAPI circuitry is further configured to receive, from the interfacegeneration circuitry, the second documentation request command,transmit, to the documentation response generation circuitry, the seconddocumentation request command, receive, from the documentation responsegeneration circuitry, a second documentation response message, andtransmit, to the interface generation circuitry, the seconddocumentation response message; wherein the documentation responsegeneration circuitry is further configured to receive, from the APIcircuitry, the second documentation request command, generate the seconddocumentation response message based on the selection of the selectablegroup-based communication platform API method name, wherein the seconddocumentation response message comprises the group-based communicationplatform documentation information associated with the selection of theselectable group-based communication platform API method name, andtransmit, to the API circuitry, the second documentation responsemessage; and wherein the interface generation circuitry is furtherconfigured to receive, from the API circuitry, the second documentationresponse message, generate a second ephemeral documentation messagebased on the second documentation response message, wherein theephemeral documentation message is configured to be displayed, by thedisplay device in communication with the client device, in thegroup-based communication platform interface in association with thesecond documentation request command, and transmit, to the clientdevice, the second ephemeral documentation message.
 8. The computingsystem of claim 7, wherein the second documentation request commandcomprises user identification information for the user, and wherein thedocumentation response generation circuitry is further configured to:generate a group-based communication platform documentationauthorization request command comprising the user identificationinformation and the selection of the selectable group-basedcommunication platform API method name; transmit, to authenticationcircuitry in communication with the documentation response generationcircuitry, the group-based communication platform documentationauthorization request command; receive, from the authenticationcircuitry, a group-based communication platform documentationauthorization token indicating that the user has authorization to viewthe group-based communication platform documentation informationassociated with the selection of the selectable group-basedcommunication platform API method name; and in response to receipt ofthe group-based communication platform documentation authorizationtoken, generate the second documentation response message.
 9. Thecomputing system of claim 6, wherein the set of selectable group-basedcommunication platform API method names are configured to be displayed,by the display device, in the group-based communication platforminterface as an attachment to the ephemeral documentation message. 10.The computing system of claim 6, wherein the set of selectablegroup-based communication platform API method names are configured to bedisplayed, by the display device, in a drop down menu box viewable inthe group-based communication platform interface in association with theephemeral documentation message.
 11. The computing system of claim 6,wherein the interface generation circuitry is further configured to: inresponse to receipt of the electronic information indicative of theselection of the selectable group-based communication platform APImethod name by the user using the client device, generate a group-basedcommunication platform interface overlay comprising a set of selectablegroup-based communication platform API method name confirmation icons,wherein the set of selectable group-based communication platform APImethod name confirmation icons comprises a selectable affirmativegroup-based communication platform API method name confirmation icon anda selectable negative group-based communication platform API method nameconfirmation icon; transmit, to the client device, the group-basedcommunication platform interface overlay; receive, from the clientdevice, electronic information indicative of a selection of theselectable affirmative group-based communication platform API methodname confirmation icon by the user using the client device; in responseto receipt of the electronic information indicative of a selection ofthe selectable affirmative group-based communication platform API methodname confirmation icon by the user using the client device, generate thesecond documentation request command; and transmit, to the APIcircuitry, the second documentation request command.
 12. The computingsystem of claim 1, wherein the documentation response message comprisesa JavaScript Object Notation (JSON) documentation payload.
 13. Acomputer-implemented method for electronically retrieving documentationin a group-based communication platform interface, thecomputer-implemented method comprising: receiving from a client device,by an interface generation circuitry, a request for group-basedcommunication platform documentation, wherein the request comprises acommand and a requested API method name; in response to receipt of therequest, generating by the interface generation circuitry adocumentation request command based on the command and the requested APImethod name; and transmitting to an application programming interface(API) circuitry, by the interface generation circuitry, thedocumentation request command; receiving, by application programminginterface (API) circuitry and from the interface generation circuitry incommunication with the API circuitry and the client device, thedocumentation request command indicative of the request for group-basedcommunication platform documentation, wherein the request was providedby a user using the client device, and wherein the documentation requestcommand comprises electronic information indicative of the requested APImethod name; transmitting to a documentation response generationcircuitry, by the API circuitry, the documentation request command;receiving from the documentation response generation circuitry, by theAPI circuitry, a documentation response message, and transmitting to theinterface generation circuitry, by the API circuitry, the documentationresponse message; receiving from the API circuitry, by the documentationresponse generation circuitry, the documentation request command; inresponse to receiving the documentation request command, retrieving, bydocumentation response generation circuitry in communication with theAPI circuitry and from an API specification server, a group-basedcommunication platform API specification comprising a set of group-basedcommunication platform documentation information associated with a setof group-based communication platform documentation API method names;generating, by the documentation response generation circuitry, adetermination indicative of whether the requested API method namecorresponds to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names; generating, by the documentationresponse generation circuitry, a documentation response message based onthe determination; transmit to the API circuitry, by the documentationresponse generation circuitry, the documentation response message;receive from the API circuitry, by the interface generation circuitry,the documentation response message; generating, by the interfacegeneration circuitry, an ephemeral documentation message based on thedocumentation response message, wherein the ephemeral documentationmessage is configured to be displayed, by a display device incommunication with the client device, in the group-based communicationplatform interface as an attachment to the request for the group-basedcommunication platform documentation; and transmitting, by the interfacegeneration circuitry and to the client device, the ephemeraldocumentation message.
 14. The computer-implemented method of claim 13,wherein the requested API method name is not identical to anygroup-based communication platform API method name in the set ofgroup-based communication platform API method names, wherein thedetermination indicates that the requested API method name does notcorrespond to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names; and wherein the computer-implementedmethod further comprises: transmitting, by the documentation responsegeneration circuitry and to natural language processing (NLP) circuitryin communication with the documentation response generation circuitry, astring similarity request comprising the requested API method name andthe group-based communication platform API specification; and receiving,by the documentation response generation circuitry and from the NLPcircuitry, a set of suggested group-based communication platform APImethod names, wherein the documentation response message comprises theset of suggested group-based communication platform API method names.15. The computer-implemented method of claim 14, further comprising:receiving, by the NLP circuitry and from the documentation responsegeneration circuitry, the string similarity request; generating, by theNLP circuitry, a set of semantic similarity scores, wherein eachsemantic similarity score in the set of semantic similarity scores is aquantitative value indicative of an amount of semantic similaritybetween the requested API method name and one of the group-basedcommunication platform documentation API method names in the set ofgroup-based communication platform documentation API method names;generating, by the NLP circuitry, the set of suggested group-basedcommunication platform API method names based on the set of semanticsimilarity scores; and transmitting, by the NLP circuitry and to thedocumentation response generation circuitry, the set of suggestedgroup-based communication platform API method names.
 16. Thecomputer-implemented method of claim 14, wherein the documentationrequest command is a first documentation request command, wherein theephemeral documentation message is a first ephemeral documentationmessage, and wherein the computer-implemented method further comprises:generating, by the interface generation circuitry, a set of selectablegroup-based communication platform API method names based on the set ofsuggested group-based communication platform API method names, whereinthe set of selectable group-based communication platform API methodnames is configured to be displayed, by the display device, in thegroup-based communication platform interface in association with thedocumentation response message; transmitting, by the interfacegeneration circuitry and to the client device, the set of selectablegroup-based communication platform API method names; receiving, by theinterface generation circuitry and from the client device, electronicinformation indicative of a selection of a selectable group-basedcommunication platform API method name by the user using the clientdevice; in response to receiving the electronic information indicativeof the selection of the selectable group-based communication platformAPI method name by the user using the client device, generating, by theinterface generation circuitry, a second documentation request commandcomprising electronic information indicative of the selection of theselectable group-based communication platform API method name by theuser using the client device; and transmitting, by the interfacegeneration circuitry and to the API circuitry, the second documentationrequest command.
 17. The computer-implemented method of claim 16,wherein the documentation response message is a first documentationresponse message, and wherein the computer-implemented method furthercomprises: generating, by the documentation response generationcircuitry, a second documentation response message based on theselection of the selectable group-based communication platform APImethod name, wherein the second documentation response message comprisesthe group-based communication platform documentation informationassociated with the selection of the selectable group-basedcommunication platform API method name; generating, by the interfacegeneration circuitry, a second ephemeral documentation message based onthe second documentation response message, wherein the ephemeraldocumentation message is configured to be displayed, by the displaydevice in communication with the client device, in the group-basedcommunication platform interface in association with the seconddocumentation request command, and transmitting, by the interfacegeneration circuitry and to the client device, the second ephemeraldocumentation message.
 18. A computer program product for electronicallyretrieving documentation in a group-based communication platforminterface, wherein the computer program product comprises at least onenon-transitory computer-readable storage medium storingcomputer-executable program code instructions that, when executed by acomputing system, cause the computing system to: receive from a clientdevice, by an interface generation circuitry, a request for group-basedcommunication platform documentation, wherein the request comprises acommand and a requested API method name; in response to receipt of therequest, generate by the interface generation circuitry a documentationrequest command based on the command and the requested API method name;and transmit to an application programming interface (API) circuitry, bythe interface generation circuitry, the documentation request command;receive, by the application programming interface (API) circuitry andfrom interface generation circuitry in communication with the APIcircuitry and the client device, the documentation request commandindicative of the request for group-based communication platformdocumentation, wherein the request was provided by a user using theclient device, and wherein the documentation request command compriseselectronic information indicative of the requested API method name;transmit to a documentation response generation circuitry, by the APIcircuitry, the documentation request command; receive from thedocumentation response generation circuitry, by the API circuitry, adocumentation response message, and transmit to the interface generationcircuitry, by the API circuitry, the documentation response message;receive from the API circuitry, by the documentation response generationcircuitry, the documentation request command, in response to receipt ofthe documentation request command, retrieve, by documentation responsegeneration circuitry and from an API specification server, a group-basedcommunication platform API specification comprising a set of group-basedcommunication platform documentation information associated with a setof group-based communication platform documentation API method names;generate, by the documentation response generation circuitry, adetermination indicative of whether the requested API method namecorresponds to any group-based communication platform documentation APImethod name in the set of group-based communication platformdocumentation API method names; generate, by the documentation responsegeneration circuitry, a documentation response message based on thedetermination; transmit to the API circuitry, by the documentationresponse generation circuitry, the documentation response message;receive from the API circuitry, by the interface generation circuitry,the documentation response message; generate, by the interfacegeneration circuitry, an ephemeral documentation message based on thedocumentation response message, wherein the ephemeral documentationmessage is configured to be displayed, by a display device incommunication with the client device, in the group-based communicationplatform interface as an attachment to the request for the group-basedcommunication platform documentation; and transmit, by the interfacegeneration circuitry and to the client device, the ephemeraldocumentation message.